Rename OrmContext to EntityContext.

I think having separate form context for multiple and single top level
models will make both code paths simpler as they have different
requirements. At least in my head they are different.

Implement EntityContext val() and some tests.
Add Validator::hasField()

This will be useful in form building as fields without validation sets
should not default to required.
Start to implement isRequired for the EntityContext.

Do some refactoring around entity location and validator handling.
Add validator as a string.

Using a string to name the validator is often much simpler than
providing the validator.
Add getByProperty and refactor association handling in EntityContext

Add a way to get associations by property name. This allows other parts
of the framework to operate on associations knowing only the property
names.
Implement EntityContext::type()
Add tests for type() and refactor tests.
Add attributes() method.
Add hasError and error to EntityContext.
Fix return type of error()

Make it consistent (always an array). Also make the two implementations
agree on a return type.
Fix coding standards.
Fix doc block errors.
Remove automatic table alias handling.

As discussed in #2761 we shouldn't support automatic table aliases in
entity paths. They are not required and only really serve to bloat HTML.
Not having them makes reading entity properties, handling request data
and forms consistent.
Simplify hasError()
Merge pull request #2761 from markstory/3.0-orm-context

3.0 Start the ORM context