Fixed the misinterpretation of length parameter

There were several unit tests failed in TestLazyPrimitive test case. It turned out that my previous interpretation of the length parameter was wrong. The length param is the length of the buffer to be converted starting from [start]. It is not the length of the whole input buffer. I fixed the error and confirmed that all 9 unit tests for LazyPrimitive passed.
ant test -Dtestcase=TestLazyPrimitive

So please merge the fix into adatao-shark-0.9 branch. Thanks.