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.
Could we cut looking at `$NENGORC`? It doesn't have a good use case in my opinion; `nengorc` in the `pwd` is good for model-specific settings, home directory for user-level defaults, and install directory for system-level defaults. `$NENGORC` kind of is good for model-specific or user-specific but not ideal for either, I would say.

Another question: Matplotlib does a very similar thing as this, but instead of having a precedence order, it just searches in the 3 locations and stops once it finds an RC file. Should we do this as well? I can see arguments for both approaches... but I think it's easier to understand if you only deal with a single RC file; the defaults are in `nengo/runcom.py` anyway; I think it's a pretty rare case to have a bunch of configuration in `~/.config` and a bunch in `./nengorc`; and even if this happened I'm not sure I would expect that they would all apply.

It would be easier to tell where the settings are coming from as well; Matplotlib exposes this though `matplotlib.matplotlib_fname()`, which returns the path of the RC file.