3.0 form context

Part of #2267. Start the first FormHelper context object. This one just handles basic arrays. While this doesn't seem super useful it will be helpful for building forms that are not attached to ORM object and for testing FormHelper as we can have fewer dependencies and not require a database connection to test HTML output which will be handy.

The next thing I'll be working on are the context classes for a single entity and a collection of entities. I think these will end up being separate as the data traversal will create too many `if` conditions should the collection + single context be combined.