Consolidate code for clarity.

This commit consolidates some of the smaller files into some of the larger files.
The smaller files cluttered the file tree and made it harder to see the logical
groupings of structs.
Merge pull request #153 from benbjohnson/consolidate

Consolidate code for clarity.