Change MajorType TAGS to TAG
Added empty decode functions for all the remaining MajorTypes
Get additional type in recursive decode and pass to individual decode functions
Added a function which checks the length of the byte array

This function is used for making sure there is enough data to complete
decoding the current value. If there are not enough bytes, an error is
thrown.
Replaced byte checking in decodeIntValue with a call to checkByteArrayLength
Completed the decodeString function
Added basic unitTests for decodeString
Completed decodeSimple for everything except decimal values
Adding unit tests for decoding simple types (bool, null, undefined)
Completed decodeTag function

It will do nothing except return the actual value it applies to.
Change unit test comment wording
Completed the decodeByteString function
Adding a test case for decodeByteString
Completed decodeSequence function
Added basic test case for decodeSequence
Completed decodeMap function
Adding unit test for decodeMap