3.0 collection context

As part of #2267, this set of changes adds support for collectiions/arrays of entities to the EntityContext. Originally, I thought this was going to require a separate class, but it ended up being pretty simple to add to the existing code.

After this, I am going to start integrating the widgets and context classes into formhelper.