[JAVA-1410] Documenting org.bson

Added documentation for the BSON classes inside the driver module.

As per the first pass of documenting the legacy API:
 - Adding missing Javadoc for public classes and methods
 - Applied simple standardisation to existing documentation (formatting, capitalisation)
 - Renamed params, and occasionally variables, where appropriate for better readability.
 - `@Override` used to ensure parent documentation applied to child methods.

In addition, some code was changed during the process:
 - Split the tests for encoding/decoding hooks into specific individual tests to demonstrate the functionality.
 - StringRangeSet has been made package-private, and moved to the package that needs it (JAVA-1454 raised to deprecate this class). This class was massively simplified to provide only the functionality it required, and therefore the test was also simplified.
 - Added a test for ClassMap to demonstrate its key functionality.

Although existing documentation has been scanned, no effort has been made to ensure its correctness.

And finally, since this is the last batch of missing documentation for 1410, turned on the check in the checkstyle-lite configuration to ensure any missing javadoc from now on fails the build.