Some builder refactoring

- Everything has an input_signal and output_signal, if appropriate,
  which makes connection code much easier
- Modulatory connections work now; they create a new signal rather
  than DotInc-ing to post.input_signal, so other things
  (i.e., learning rules) can use them.