Add RC file support

This pull request adds support to configure the cache size and path with RC files. Settings will be loaded from the following files (in this order):

1. `INSTALL/nengo-data/nengorc`  (where INSTALL is the installation directory
    of the Nengo package)
2. A operating system specific file in the user's home directory.
   - Linux: `~/.config/nengo/nengorc`
   - OS X: `~/Library/Application Support/nengo/nengorc`
   - Windows 7: `%userprofile%\AppData\Local\CNRGlab at UWaterloo\nengo`
3. File given in the environment variable ``$NENGORC``.
4. nengorc in the current directory.

See `nengo-data/nengorc` for an example RC file.

This pull request addresses ctn-waterloo/nengo#349. It is based on the `cache` branch. Thus pull request #375 should be merged before this one. This pull request also changes the cache limit to disk space instead of number of files.
This is something that we should have been doing all along I think, not really related to the cache changes.  Might be nice to separate into its own commit to indicate that.  To be clear (mainly just noting this down for myself, and anyone that's interested), this changes the behaviour of the following:
```python
config.configures(A)
config[A].set_param("test", Parameter(default=1))
config[A].test = 5
print config[A].test # prints 5
inst = A()
print config[inst].test # previously, prints 1, with this change, prints 5
```