NF - add is_coordsys CoordinateSystem check

With tests.
NF - allow coordinate names for coordinate system

In creating a coordinate map, allow coordinate names as definitions for
the two coordinate systems, making an easier shorthand for coordinate
map creation.
DOC: fixup io docstrings, remove mention of fromarray

Remove mention of fromarray.  Cleaup some text, comments and whitespace
RF - replace use of fromarray in doctests/examples

Replace 'fromimage' with full Image construction syntax.  Why?  Because
it ellides past the need for the image to have a meaningful transform,
and because it's not much simpler (any more) than using the
AffineTransform constructor.

The examples here were broken in various ways, and run with these
changes.
NF - deprecate fromarray; update dostrings

fromarray not generally a good idea because it does not specify a
mapping; deprecate, remove mention in docstrings.
NF - rename default xyz axes with explicit labels

Instead of 'mni-x', 'mni-x=L->R' etc.
NF - add unknown and aligned output coordsystems

To be able to support range of nifti transform codes.
NF - XYZSpace class to make, test coordsys-likes

XYZSpace class allows us to check if a coordinate system, or a
coordinate map, or an Image (that has a coordinate map) are 'in' a
particular space - meaning - they have 'x', 'y', 'z' space names in the
right order.
RF - rename CoordmapMaker voxel_cs to voxel_csm
NF+RF - get axis names / output spaces from images

Discard affine_transform_from_array function that Jonathan had marked
for future deletion.

Implement reading of nifti dim_info to get phase, frequency, slice
labels from nifti header when available.

Read sform and qform information from nifti header to set output space.
Use standard 'unknown' xyz output space as default.

Add tests.
NF - add spaces to nipy.core.api imports

MNI etc spaces may be useful at the API level
RF: contains space check allows axes in any order

Previously contains would check if the axes for the checked object were
in the exact order of the space against which it was being checked.
That meant that, if we roll time first for an MNI space image, it would
no longer be `in` MNI space. With these changes, the image continues to
be in MNI space, but cannot - for example - generate an xyz affine
without rearrangement.
NF: add test for xyz space API

Allows check whether this is an XYZ space definition.
ENH: neuro_image image creation function

Allow creation of images in standard neuroimaging space conventions from
a utility function.  This allows us to do stuff like this::

    >>> data = np.arange(24).reshape((2, 3, 4))
    >>> aff = np.diag([4, 5, 6, 1])
    >>> img = neuro_image(data, aff, 'mni')

where ``aff`` here is a standard neuroimaging xyz affine.
Merge pull request #167 from matthew-brett/specific-xyz-names-only

ENH: Specific xyz names from load / save

This is a set of changes to make the image loading create a sensible set of axis names that can be used to recognize the axes as X, Y, or Z.

I hope with these changes or something like them and the xyz_affine code, we can remove the AffineImage and XYZImage classes and let the axes take care of themselves by naming convention.