|#98 Convert some to AnyVal, use `asJava` consistently to get Java POJO

* Any wrappers that did not require extending any other traits have been converted to AnyVal instances.
* Wrap class named to Self indicating that it allows further invocations on Self, fluent style.
* VertxWrapper converted in AsJava, which is an optional trait that should be extended by any wrapper traits that require accessing the java object before this has been concretely instantiated in the wrapper class.
* Removed all Wrapped* classes and just merged them into their corresponding trait.
* All wrapper classes have been made final and their constructors private. They can only be instantiated via factory objects.
* Added missing javadoc and corrected where necessary
* Added missing copyright notices
* Separate Vertx into a separate class. This avoids a type erasure compilation error.