Sort methods
The tokenizer does not care about "too short"
Update #construct* to use the token stream

Now #next_token always returns a token instead of nil (sometimes).
Also, #next_token raises EndOfMarshal when it reaches the end of the
stream.
Move object construction out of #construct

This is a step towards a further refactoring.
Push up adding on the rest of the structure