Make lots of changes

This was a stream of consciousness set of changes.

Prim:  Modify bitString and objectIdentifier to return Maybe so that it
can error out on bad input. Instead it will cause a read failure.

Reader.Core: Lots of haddock documentation

Writer: Add writeBitStringAP
Lint clean up