Implemented nengo.utils.compat.ensure_bytes

This ensures that the passed string is encoded; that is, it is not
a unicode string. In Python 2, this means that `unicode` instances
are encoded. In Python 3, this means that `str` instances are encoded.
If the passed object is already a bytes object, nothing happens.
Using hashlib for test seed creation.

This makes seeds deterministic in both Python 2 and 3
(`hash` is randomly seeded by default in Python 3).

- Also added a global `test_seed` that can be used to change seeds
  for all tests.
- Fixed some tests (in `test_distributions`) to work with new seeds.