Header Parser (meta data parser)

Time for some code review.

I'm really not a huge fan of the name of this class and I'm not sure if this was the best spot to put it.

I changed the metadata format to not contain all of the #'s. And It can be indefinitely large to accommodate custom metadata information.

@jwright