Upstream changes, refactor to break objects out of builder and assembler

- Moves objects into object specific files.
- Keeps inline with upstream Nengo changes.
  - `(pre|post)` -> `(pre|post)_obj`
  - `pick_eval_points` is gone
  - Synapses can be instances
- Remove unnecessary code, neaten the remove pass node functionality
  - Requires ctn-waterloo/nengo-temp#446