Make minidns Android agnostic

there is really no need for minidns to be Android exclusive. Replacing
the Android log API with JUL make minidns available for Android and Java
SE.
Close DatagramSocket using try-with-resources
Remove printStackTrace() calls

it's hard to assign those an app in the Android log. Better to use JUL.
Log IOException
Merge pull request #3 from Flowdalic/androidagnostic

Make minidns Android agnostic
Add Cache to minidns
Simplify cache and extend cache operations.

Remove the external cache dependency and use a simple LRU based on
LinkedHashMap.
Make it possible to get the parse time of DNSMessage, which means we
can evaluate the TTL later on :-)
Switch to deticated DNSCache interface + reference LRU implementation.
Make sure we initialize big enough if s.o. chooses small values
Add missing javadoc and review new code
Prepare 0.1.0 snapshot