Relax conversion rules.

Current implementation would not accept empty strings and would
throw exception in that case.
Merge pull request #8 from marijn/relax-doctrine-type-conversion

Relax conversion rules.
Providing separate get*Hex() methods for each UUID field
Add additional assertion for better testing of getBytes()
Implemented get*Hex() methods for most/least significant bits
Converted internals to use string hex fields, rather than integers

I managed to accomplish this without affecting backwards compatibility
of the interface and expected outputs. Unfortunately, two tests are now
failing, even on 64-bit platforms: getMostSignificantBits() and
getLeastSignificantBits(). I will need to break BC for these two
methods in order to return integers (rather than floats).
Move testing flag for ignoring system node to a static property
Marking certain tests as skipped, if not on a 64-bit system
Testing uuid1() with a 32-bit int node passed in
Moving method around for consistent alphabetical ordering
Removing 32-bit exception thrown from the constructor
Adding hasBigNumber() and is64BitSystem() helper methods
Throwing exceptions for certain methods on 32-bit systems
Switch system node parameter to be a string hexadecimal value
Support UUID timestamp on 32-bit systems
BC-BREAK: Changing output of most/least sig bits methods
Cleaning up tests; removed TestCase class and moved all into UuidTest
Updating the description of moontoast/math dependency suggestion
Copied UuidTest from 1.1.2 tag and placed here for BC tests
Fixing tests to run on 32-bit systems