|#98 Convert wrapper classes to AnyVal, use `asJava` to get Java POJO

* All wrappers except `Message`, `RouteMatcher` and `Vertx` have been converted to `AnyVal` instances.
* `AnyVal` instances don't allow `this.type` to be referenced, so instead a Self type was created with a covariant type parameter that points to itself.
* Wrap class has been merged with Self, since both are very tightly related. Self defines the return type and wraps it using self() method. Each wrapper class defines what self() should return
* VertxWrapper class has become `AsJava`, which better represents the fact that it exposes the Java version of the wrapped class.
* Removed all Wrapped* classes and just merged them into their corresponding trait.
* Added missing javadoc and corrected where necessary
* Added missing copyright notices