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.
Notify PacketReader in case of TLS exceptions

PacketReader will be waiting in startup() as long as either:
- the timeout occurs
- notify is called because the last feature stanza was parser
- notify is called because of an exception of startHandshake()