Change BDBJEPointCache to store ordinates as int instead of double.

the osmosis OSM library treats node latitude and longitude
values as primitive ints instead of doubles, converting them
to double where necessary with a fixed precision of 7 decimals.
Let BDBJEPointCache use the same helper class to reduce the db
size.
Extract interfaces for all RevObject implementations

All RevObjects implementations but RevTree were concrete
classes instead of interfaces. This refactoring introduces
interfaces RevCommit, RevFeature, RevFeatureType, and RevTag,
and their default implementations RevCommitImpl, etc., making
the repository object model homogeneously defined by interfaces
instead of a mixin of interfaces and concrete classes, hence
allowing for alternate implementions, as may come from
optimizations of storage backends.
added some docs about osm log mechanism
housekeeping: routine imports organization
Housekeeping: eliminate compile warnings, dead code, etc.

This reduces the number of compile time warnings (as
reported by eclipse) from 257 to 83. Some about using
deprecated APIs are left for a next round.
Add --bbox filtering to osm import-history
fetch changesets in batches of 100
tmp