bugfix: (1) int and long reading, (2) document and array reading
refactor and revise:
(1) BSONDocument and BSONArray contains ONLY BSONElement instances (obsolete methods are removed),
(2) new BSONElement with null value results in type=TYPE_NULL,
(3) BSONDocument.opt method returns always a valid BSONElement instance (if the value is null, then returns BSONElement.NULL),
(4) BSONDocument.get method returns null if the matching value doesn't exist or the value is null,
(5) add/revise BSONDocument and BSONArray put methods