pass backend test. fix #11
Implemented encoder
Decouple data fetch and data encoding
Change encoder decoder interface
add interface encode/decode in w/r
Rename record encoder/decoder littelEndian encoder/decoder
Add more testcases
Modify backend to adopt the new interface