MNE sample data - storage location and improved error handling

The datasets directory (or data directory) are retrieved using the following priority :
1. the keyword argument 'path' provided.
2. the environment variable MNE_DATASETS_SAMPLE_PATH
3. intelligent guess '../../examples' directory
4. "~/mne_data" directory

If the directory obtained from 1, 2, 3 above does not exist or have write permissions, ~/mne_data will be created and the data downloaded into it. Tested on Ubuntu 14.04. 

I plan to have a fresh Ubuntu installation soon and can test if it works out of the box with python-mne package.
@Eric89GXL So, I've just replaced references to the keys above. BCI or MEGSIM for example use a similar function in different parts of the code like mne/datasets/eegbci/eegbci.py or mne/datasets/megsim/megsim.py for example. 

We could just integrate all of these into one while we are at it. What do you think?