Structs redux.

* Removed `.instances()`, as it was not being used
* Removed `.collection()`, as it was a source of complexity
* Emit `change` only once after `setAttrs()`
Conflicts:
	vendor/assets/javascripts/onion/struct.js
tweaks including Struct#set calls Struct#setAttrs to save duplication