MRG: refactor for current and future nibabel

Nipy was breaking against the current nibabel master because of some
changes in the way that nibabel keeps headers in memory.

New nibabel has attributes for `affine`, `header`, `dataobj` that old
nibabel didn't.  At least for `affine` and `header`, the old methods
`get_affine`, `get_header` will stay without warning for a while, but
get ready for the time when those warnings will start by using a
compatibility wrapper around nibabel to fetch this stuff.