first working version of asynchronous validation

The validateAsynch operation mirrors the signature from validate, but
additionally offering a validation hint parameter, indicating wheter
the validation is computationally heavy, simple or contains IO
operations. Computationally heavy and IO operating validations will
be excuted in seperate execution units, while all simple computations
are collected into one.
provide interface to asynchronously validate one property

when calling validateAsynch you can now immediately start the
asynchronous validation without passing to the validate function, simply
by calling validateAsynch(...).run(), which returns a CompletableFuture.
add readme examples and documentation for asynch