Add nibabel dependency to setup.py

Some tweaking to the way `__version__` works was needed because dependencies are checked at `import nilearn` time. That meant that setup.py couldn't run unless the dependencies were installed.
> I prefer the exec(open('nilearn/version.py').read()) solution. It's Python 2 &
> 3 compat and breaks any possible cyclic import dependencies.

OK for the general idea, but I'd rather avoid injecting variable in the
global/local namespaces. It's bad practice.

I'd rather have somethig like (adapted from
http://stackoverflow.com/a/437857/413856):

version_dict = {}
exec(open('nilearn/version.py').read(), version_dict, version_dict)

and then fish the version variable from version_dict.