Consolidate get(Tag|DataSize)Length into efficient getVintLength.
Fix buffer overrun, previously worked by fluke.
Use getVintValue in place of calc(Int|DataSize).

N.B. This changes the definition of element.tag to be the decoded integer rather than the VINT encoded one. Schema lookups were already done on the tagStr so I believe this was previously an oversight.
Tidy test names up.
More descriptive error message
Add vint encoding support
Scaffold for encoder
Support reading 8 byte vints up to the max integer available in JS
Replace getVint{Length,Value} with readVint and tidy-up tests
Add writeVint implementation and tests
Save state
Fix formatting once and for all
Add encoding support
Replace parent concept with tag stack
Merge branch 'master' into chrisprice

Conflicts:
	lib/ebml/decoder.js
	lib/ebml/schema.js
Reformat. Fix git line-ending warnings
Merge pull request #7 from chrisprice/chrisprice

Add encoder