added test suite and integer.hpp

The test suite performs various unit tests. The integer.hpp file defines a generic template for integer types that allows templates to resolve a number of bits to the next integer that supports that size. Very handy for things like fixed precision and the like.