The parser is pretty much complete now. Parses regions and devices too now.
Device lines' "array" attributes even get parsed, though I haven't tested that.

* Split the driver and device structs into two sub-parts in preparation for the
  storage layout of the index. This change will allow me to store the driver
  and device information in an efficient manner, only occupying as much space as
  is actually needed.
* Fixed a bug in findWhitespaceAfter().
* The parser now parses for the version of udi core that the driver needs and
  fills it into the struct.
* Added module parsing and basepath to the driver struct.
* Added an endianness argument for the -c switch.
* Added a -c switch (CREATE a new index).
* Will now check to see if the index path exists and is a folder.