bindings for repeaters

repeaters now have add and remove capabilities. they update their
entity when items are added/removed in their collection.

they do not currently listen for adds/removes from their entity, so
they are one-way bound for the moment. this means that with two
identically-bound repeaters, adding an item in one does not cause the
other to gain the item.

the main problem with implementing this is to avoid getting stuck in a
infinite loop, where repeater adds an item, causing the entity to add
an item, causing the repeater to add an item, etc.