Flush dnsjava cache if no results are returned

This should prevent some cases in mobile scenarios, where an DNS
lookup on a unavailable data connection results in an empty result
which is cached by dnsjava.
Log loaded classes by SmackConfiguration
Reworked DiscoverInfo and DiscoverItems

- Change the return type from Iterator to List
- Remove the synchronized blocks
Cleanup SASLAuthentication

- Synchronized as method keyword
- Removed star import
Further improved logging in SmackConfiguration