Return rich error informations

A single error now contains:

- Attribute
- Violated validation
- Expected value
- Actual value
Introducing Lotus::Validation::Errors
Ensure to report multiple errors for a single attribute
Implemented Errors#each and #map for easier introspection
Introduced Lotus::Validations::Error

It represents a validation failure for a single attribute (eg required
email which is missing).
Implemented Errors#count
Merge pull request #5 from lotus/better-errors

Better errors