Implement RC settings.

Use the RC settings for determining if cache will be used.
Add cache benchmarking test.

Also added:
- test_cache_works as a minimal smoke test similar to
  test_cache_performance but faster.
- Notebook for benchmarking the cache.
Use RC to get cache directory.
Respect RC setting of cache size and path.
Add installation-wide nengorc.
Log reading of RC files.

To see the log messages:

    import nengo
    nengo.log(True)
    nengo.rc.reload_rc()
Move cache related logic to cache.py.
Nengo RC file size now given with units

The user specifies something like "512 MB" rather than an
integer that is assumed to be in bytes.
To do this, `bytes2human` and `human2bytes` functions were added.
Cache get_size returns a human readable str by default now;
get bytes by calling get_size_in_bytes.