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.
I'm all for code de-duplication / unification. As long as it's backward-compatible I'm +1. You'll probably just need to add an `old_key` parameter or something to deal with cases where users have been relying on `MNE_DATASETS_SAMPLE_PATH` or whatever instead of the unified parameter (`MNE_DATA`).