By default an InvalidDicomError will be raised when trying to read a non-dicom file.
This is the case when the ¨DICM¨ bytes are not present at position 128.
One can force pydicom to try read the file anyway, by using the new keywork arg
of the read_file function named ¨force¨.
Reading non-DICOM file now raises InvalidDicomError unless force set True. From Almar Klein's clone. Closes issue 70. Closes issue 75.
Added unit tests of force argument with header-less rtstruct testfile.
Preliminary Python 3 compatibility and code improvement changes.
Test suite now runnable with ``python setup.py test``. Uses pkg_resources to find test files. Prelim step to running 2to3 through Distribute.
BaseTag comparison changed to __lt__ and __eq__.
Builtin sorted() used instead of .sort().
Renamed variables called ``format`` since is a builtin in python 3.
Start sphinx reference guide documentation for file reading and Dataset class.
Add missing ref_guide.rst from last commit for documentation updates.
NumPy format fixes for pixel_array, thanks to Pierre Raybaut. Closes issue 79.
Better handling of transfer syntax UID in DicomIter
Fix DicomIter to pass the correct parameters to data_element_generator
Dataset.__setitem__ : set private_creator in data element only if current tag is not private_creator_tag to avoid an infinite loop
Port file_tell in datasets to 0.9.4 reading framework
Removed useless expression in convert_single_string
Tabnanny fixes. Check integer division for issue 80.
Merge from lamy-pydicom clone
Fix bug after merge with changesets from Julien Lamy's clone. Julien's clone fixed recursion error (closes issue 81. Closes issue 84) and DicomIter bug (fixes issue 82).

Hg: Leave message empty to abort commit.
Change pydicom's UID root name. Small changes to help handle missing preamble on write.
Added pydicom_series.py to contrib folder. Contributed by Almar Klein. Reads files and separates into distinct series.
Reading a series produces data of the right data-type to fit
the full range of the data, taking rescaling into account.
Put first "scratch write" test in place (impl VR little endian). TransferSyntax properties added to UID class.
Did PEP-8 style conversion for "isRetired" flag to "is_retired" throughout.
Added __version__info__ tuple (closes issue 87).
Fix for python 2.5 and 'with' statement from Yaroslav Halchenko.
Small change to make reading series robust for other files such as topograms.
Merge