Remove property subjects, refactor bindings

This is a sweeping refactor of the property subject and binding code, to simultaneously solve a few different problems:

 1. Duplicated implementation logic
 1. Confusion about which side bindings go on, how many you need to create to do things, etc.
 1. ~~Confusion about how bindings don't echo values sent to them~~
 1. Complexity from supporting N-way bindings

Still a huge work-in-progress, but I'd love feedback on the API. In particular, are the separate endpoint properties useful?

@Coneko @andymatuschak