RF: remove duplicated get_header in mghformat

get_header duplicates method in parent class.
RF: harmonize pretend Header affine name

Other headers get the default affine with ``get_best_affine``, but the
pretend Header object uses ``get_default_affine``.  Changed to both use
``get_best_affine``.
RF: remove MGH get_affine method as duplicate

The behavior of the other image classes is to store the affine in the
image, and return than from ``get_affine``.  The affine can be modified
too.  The ``update_header`` method makes sure the affine for the image
matches the affine for the header.  Change MGH to match behavior of the
other image types (so falling back to SpatialImage.get_affine)
RF: move update_header logic into base class

Move update_header method into SpatialImages, and take image-specific
code out into private helper function ``_affine2header``.  Refactor
analyze, nifti1 and mgh image types by writing specific
``_affine2header`` and falling back to SpatialImages ``update_header``
NF: add __eq__ to MGHHeader

With tests.
RF: removed unused test code

Code not being run because error was raised in previous lines.
NF: add get_slope_inter to MGH for compatibility

Later we will need ``get_slope_inter`` for an ArrayProxy refactor.
Adding this method makes the MGHHeader closer in API to the Analyze
headers which may make things easier.
Merge pull request #185 from matthew-brett/refactor-mgh-image

RF: changes to MGH image to standarize API

Remove get_affine method in favor of base class
Remove get_header method in favor of base class
Refactor update_header to put code in base class
Added __eq__ and get_slope_inter to MGHHeader for compatibility with Nifti etc API.