Interim check in to set progress point

This effort preprocesses the TypeList type defined by the user, and
replaces any appropriate types to create a TypeList suitable for Hg
processing.

Ex. Replace vector<BitField> with BitFieldVector. This allows the
internal processing code to be simplified eliminating many of the
template conditional definitions that were starting to be required.

The status of this branch currently has one failing test, and a few
tests relating to vectors of bit-fields commented out to allow
compiling.
missed files in the interim check in.
One Step Closer with Vector Reads

All of the active tests pass now.
Made adjustments to the vector read algorithms to be similar to the
writes.
The type differentiation now works more correctly.
Most of the corrections were the result of taking advantage of type
inference by the compiler.
Incremental: Fixed Arrays of Arrays (RayRays)

Fixed read support for arrays of arrays.
Determined that arrays of vectors or arrays of any dynamically sized
sub-type will become overly complex. Therefore I will add tests in the
HgTypeList conversion to convert arrays of dynamically sized sub-types
to vectors of the same type.

Removed the tests for vectors with nested types of mixed size. This is
basically the same as nested with dynamic size.
Pending solution for support arrays of vectors

However, this causes a duplicate definition issue in the tests.
This means there is a bigger issue that is likely to occur with
duplicate definitions when the same type list is used.

This has been logged as an issue and will be corrected before the first
milestone.
General progress towards correct array behavior

(Ignore the fact that more tests fail now than before)
* Now have a better understanding of the interconnecting pieces.
* Nesting of containers is now working more and more reliably rather
than just by chance.
* The bit-field array now fails for the same reasons the vector
bit-field array does. This has given insight into the cause of the
errors in general.
* All array processing will soon be resolved.
* This will open the door wide to create the same type of solutions for
the vector.
Interim Checkin - Improved array and bitset support

3 test failing
There are a few unimplemented tests.
Most of the defects are a result of deep nested vectors not having a
reliable method to know the number of bytes to import from a raw buffer.
BitFieldVectors now work properly

Proper support for BitFieldVectors has been added.
While troubleshooting to fix the defects, I noticed some weird code
paths that where creating non-essential copies. This will need to be
revisited in the future during code optimization.
Corrected reading vectors of dynamic nested fields

- There is one test that fails, which is being kept in place. This is
for arrays of vectors. This will actually be replaced with vectors of
vectors at compile time to simplify the internal logic. However, the
current tests uncovered a defect that prevents identical typelists from
being declared and used separately. This failed test is a reminder to
solve this. There is also a defect logged that details this.

* There is one test for vector reads that is commented out. A mechanism
needs to be created to indicate how many bytes the vector should read
in.

* There are two tests that need to be written to verify that the correct
offsets are being read/written for nested fields.
Merge pull request #22 from PaulMWatt/User-Typelist-Conversion-for-Hg

Much improved version over previous contents of the master branch.