Bug: properties in openfire.xml not properly loaded in setup

In setup, some of the host settings are loaded from XML properties specified in openfire.xml, while others are incorrectly loaded from whats currently in JiveGlobals. Since we are in setup mode, JiveGlobals.getProperty returns null thereby ignoring any property overrides in openfire.xml specified by the user.

Changelog: 
1. Instead of just blindly setting anonymous auth to true, check if user has an override property in XML configuration, if not, default to true.
2. Call getXMLProperty to load user configuration override values and not what is currently in JiveGlobals. During setup mode, this is always null.
3. Instead of setting default values for auth, user, group, card, lockout, securityAudit and admin class names, check if the user has provided overrides for those properties, and if so, use those, otherwise use defaults.
4. Expose a method to retrieve XML property names, and then in finishSetup, go through the rest of the XML properties overridden by user that were not touched by setup and individually set those. This is particularly useful when users have to specify primary and secondary * hybrid providers.

Discussion: https://community.igniterealtime.org/message/241686#241686

Note: had to re-create the pull request after switching away from master to do pulls. Previous pull request with comments from deleolajide here: https://github.com/igniterealtime/Openfire/pull/63