Dns entity

`BindDnsServer` tested on Ubuntu 14.04. Plus other miscellaneous improvements.
Personal preference: use `new Object()` for mutex. Only reason to use array is if it needs to be serializable, but an entity should never be serialized directly.
But that wasn't your code...