ARI - refactored Decoder to not require start() call

Encoder/Decoder are now fully symmetrical: both do not have ```start()``` but require ```finish()``` with a similar interface.

The test suite now checks for the stream finish correctness by encoding/decoding two different inputs sequentially (```roundtrip_term```).