TLV Redux

Alright @adamvoncorswant, feel free to take a peek when you get a moment. Never before has there been such a test-covered parser :tada: 

FYI @linnie if you're interested. EMV stuff and all that.
Ok. This is last comment. Promise :)

The method `encodeLength` is static and need not an object to be called upon. So:
`TLVEncoder.encodeLength(0)` would suffice. Then the created object the line above could be removed.