basic macros or generating BSONReader and BSONWriter for case classes

fixes #38