ENH: Fix PAR/REC support

From https://github.com/nipy/nibabel/pull/227, I have the following targets:

* [x] Detect and correct mis-ordered acquisition (e.g., x, y, t, z).
* [x] Detect and return multiple echoes in dataset.
* [x] Detect and optionally permit missing data (e.g., run too short, doesn't contain full dataset).
* [x] Add file overwrite checks and option to overwrite.
* [x] Correct output if there are multiple data types in same recording with different scale factors (phase contrast vs complex).
* [x] Output DTI b-values and vectors, if recorded.
* [x] Output dwell time.

Note that I added the second point about multiple echoes (wasn't made clear in the original posts).
From a bit of reading it seems like other dtypes are supported, but I'm not sure how to get it to work... seems like the header will have to be changed to "know" that the dtype is not `np.int16`.