gh-99 Execution context should use Verticle context to run runnable

* Added thread assertions to tests to make sure callbacks are executed
with the correct thread.
* VertxExecutionContext now extends VertxAccess in order to gain
access to vertx and logger instances, and so be able to piggyback
execution and logging calls.
* VertxExecutionContext has been made more reusable by transforming
it from a trait to an object, similar to the default execution context
provided by Scala. This enables the execution context to be used in
situations where classes don't extend verticles for example.