Remove methods which expose internal ID

Remove the following methods with expose internal IDs
from public view

- DatastoreExtended#getDocNumericId() - Removed from public interface
- BasicDocumentRevision#getInternalNumericId() - Changed visibiity to protected

Only one question, should the getDocNumericId on BasicDatastore remain public or be made protected?
Interesting question, it's worth noting that `addNode` does some checks and manipulates internal state in a way that probably wouldn't stand up to multi-threaded code.

I guess it would be possible for a user to call this method at the same time as the replicator on a background thread. In lieu of doing any proper analysis, we could just be paranoid and put the method in a `synchronised(this)` block.