Refactoring, unit tests, & performance improvements

Work-in-progress:  needs more unit tests to make sure packet parsing still works correctly...

- Refactored code that loads types.db into two funcs.  One that just loads the file and another that does the data parsing.  This makes it easier to test and easier for testing the packet parsing code.

- Added simple packet parsing test...too simple.  Needs a lot more fleshing out.

- Added a packet parsing benchmark test.  Ran the profiler and changed the Packets function based on that.  It parses roughly twice as fast after the change.