Empty constructors and exception based validation

Fixes #2 Form::fillByArray should do nothing if form was submitted
Fixes #3 Prevent double validation on laravel redirects
Fixes #4 Allow throwing exceptions while getting data from form

This commit allows better integration of laravel applications. The main
changes are:

1. Throw a ValidatorException on Form::getData if request is invalid.
You can switch that behaviour per form
2. Ignore any manual fillByFoo() calls if form was submitted. Also
switchable by an flag inside of form object
3. Check Session for errors and return them instead of revalidating form
inside.
4. Empty constructor. I prefered to set a static AdapterFactory because
you will do that per framework and not per instance. So you can inject
anything into your forms and don't have to care about adapters.
FormObjectServiceProvider needed to be changed.