RF: use dcm_data get for dicomwrappers get

Confusingly, we were using 'getattr' on the underlying dcm_data, for
dicomwrappers 'get', and for `__getitem__`.  Use 'get' on dcm_data
instead.  Add tests.

This has the happy feature that you can now use 'get' and '__getitem__'
with tags, to get stuff from the dcm_data attribute.
RF: require dcm_data argument to wrappers

It was a bit confusing that we defaulted to an empty dictionary when
instantiating dicom wrapper objects without any input arguments.  Make
clear that the wrappers do need a dicom-info-providing thing.
Merge pull request #173 from matthew-brett/better-dicomwrapper-get

Better dicomwrapper get

DICOM sprint - simplify the interface to dicomwrappers by making wrapper 'get' defer to self.dcm_data.get, and similarly for __getitem__.

Also - make the dcm_data a required input argument to the wrapper to be clear that it is required for sensible functioning of the object.
Added MultiframeWrapper class and multiframe dicom check.
frame0 initiated, conversion to float for scaling values
updated image_orient_patient function
few updates to naming conventions for edicom sequences - e.g., PixelMeasuresSequence
instantiate superclass in MultiframeWrapper __init__
added is_edicom flag
fixed sop class comparison
BF: deal with case where DICOM does not have SOP

We don't want to require that DICOMs have SOPClassUID; allow None for
this attribute.
NF: add stripped down DICOM data for test
TST + NF: test for dicomwrappers and raising errors
ENH: Handle 4D+ datasets.
ENH: Improve get_data for 4D+ multiframe

Use pixel_array instead of PixelData so pydicom handles many
complexities. Sorts/reshapes the array in place.
BF+TST: Fixed lookups for iop/ipp/pixspacing
TST: Add test data for previous commit
TST: Point multiframe test at correct file.
TST: Add test that makes sure resulting data order doesn't change for 4D multiframe.
CMP: Fix Python3 incompatability in last commit.