Make leading zeroes optional in the string passed to HexString.toLong

- applies to the individual colon-separated byte components of the string
- for example, you can now use "1:2:3:4:5" instead of "01:02:03:04:05"
- also added back the unit tests for HexString and added some new tests
Use Short.parseShort instead of valueOf to avoid boxing
Merge pull request #215 from vaterlaus/master

Make leading zeroes optional in the string passed to HexString.toLong