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.
> I would take all the defaults out of runcom.py and just have them in INSTALL/nengo-data/nengorc

I was just implementing this and came across an issue. One of the configurable things is the path where the decoder cache should go. This isn't a problem from Python, as we use the `appdirs` utility to determine it at runtime; however, it's a problem in the `nengorc` file because it won't be the same for everyone (as it's platform dependent). We could do some kind of sentinel value like "default" but then it requires extra logic in `runcom.py`.

I'm not a fan of having the defaults in both places though... one possibility is to not provide a static `INSTALL/nengo-data/nengorc` and instead include a function to autogenerate a `nengorc` file that reflects the current defaults.

I suppose another possibility is to generate `nengo-data/nengorc` when running `setup.py`... setuptools might have something to make this somewhat easier...