Made the following changes:
1. the random object generator now allows a caller to now specify upper and lower bounds for number of objects generated by 'RandObj.randListOf' and 'RandObj.randList'.
2. changed the parser to reflect the recent changes in the abstract syntax tree, allowing arbitrary script expressions at the top level.
3. made corrections to the 'Dao.Object.TypeID' encoder/decoder of the binary serializer.
4. replaced most "error" statements in the binary serialization encoder/decoder with "fail" statements to make reported errors indicate at which byte position the error occurred.
5. corrected a minor bug in the pretty printer for 'Dao.Object.Attribute' nodes of the top-level of the AST.
6. improved error catching and reporting in the test program.