Logging and unit test improvements

- Logging is set up as a library should;
  each individual file should just import logging,
  get a logger for that file, and log stuff.
- There are, however, some functions for logging to console or file
  in nengo/__init__.py if desired.
- Nose is removed in lieu of using unittest2
  (which is standard library unittest in 2.6+).
  - Can run all tests with python setup.py test.
- Tests moved from nengo.test to a top-level tests directory.
  - Plots are generated if the shell exports NENGO_TEST_PLOT=1
Added logging in several places

- Almost all instance of `print` have been replaced with `logger.debug`
- In the future, just use `logger.debug` and `nengo.log(debug=True)`
  and leave the debug messages in the code