Openfire should not allow illegal users to be added to a user's roster

I wasn’t able to replicate the can’t log in problem, but I did find the problem where pidgin allows typing in illegal JIDs. I believe the attached patch fixes some of the issues raised in OF-97. It rejects presence subscriptions that are only to a domain by returning an error packet. I looked through the standard and extensions and couldn’t find an instance where subscribing to a domain was allowed but didn’t see any place it was explicitly forbidden either. It also updates the MUC room configuration to reject setting an owner or admin to just a domain. Since I don’t see it explicitly defined how this condition should be handled, I set it to throw a CannotInviteException which gets converted into a modify error returned to the client. I tested with pidgin and spark. Pidgin closes the configuration window but keeps the room locked. You can close the room window and try to recreate the room with correct settings without problems. Everything seemed to work fine in Spark. I’m not sure what to do about the roster additions, since Pidgin doesn’t seem to check whether an error is returned from a roster set and will just keep trying to tell the server what it thinks the roster should be.

Attached is also a patch to fix build.xml to generate the logs when the run target is used. This helps in checking that the right logs are being generated while debugging. openfireHome needed to be set as a jvm arg.