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.
@jgosmann it looks to me like that article is saying the same thing as the one I linked, namely that application created files go in AppData and user created files go in Documents.  I think the confusion is that these articles use the term "configuration files".  But they don't mean the same thing as we do here.  They are referring to configuration files that are managed by the application.  For example, Mendeley has a bunch of configuration options that I can set within the program, and it needs a place to save those in a way associated with my user account.  So it puts them in AppData; the user never needs to access them, it's just a user-specific storage space, so it makes sense to bury them in the hidden AppData folder.  That's different than what we're proposing here.  This is a file that the user creates, and the user edits, all the application does is read it.  It seems to me that that falls under the category of "Per user documents" in that article you linked, defined as "“Document” type files that users create/open/close/save in the application that are per user."