Add support for type: array

As expected, this ended up being a massive PITA.  Because of how `$$value$$` works (it's replaced lexically in templates), it wasn't possible to really 'use' angular.  Instead, we have this...  In any case, with the exception of a couple issues I'll take care of tomorrow, it works.

https://docs.google.com/a/eager.io/file/d/0B0olmeP9QsssT2l3VlNRLVlaR3c/edit