AbstractParser updates currentId properly

The currentId field should now be set when Parsing and cleared when
closing, as intended.
Removed parallel arrays from ImageMetadata

Parallel arrays are cumbersome to maintain, and in many cases parts of
the ArrayList implementation were being repeated to facilitate
re-ordering of the axis type and length arrays.

Instead, these values are now maintained in a List of AxisTypes, and a
map of AxisTypes to lengths.

This allows the AxisTypes to be dynamically rearranged without requiring
two arrays to be reorganized.
wip: Dicom