Create empty entries for nonexistent subtrees in cache preload (#501)
Create empty entries for nonexistent subtrees in cache preload (#501)

* Add logging to investigate cause of the unexpected read log message

* Create empty subtrees when getSubtrees() in preload returns incomplete set

The other ones don't yet exist and this is causing them to be requested
twice. This creates empty subtrees for them in the cache, preventing the
double look up and the "unexpected read" log message.

* Don't split a node id that has already been split

Because that way madness lies.

* Cleanup

* Additional sanity check against corrupting cache data in preload

* Remove extra logging from map integration test

* Review fixes.

* Review fix.

Martin2112/trillian,AlCutter/trillian,gdbelvin/trillian,Martin2112/trillian,daviddrysdale/trillian,codingllama/trillian,google/trillian,RJPercival/trillian,daviddrysdale/trillian,gdbelvin/trillian,google/trillian,Martin2112/trillian,RJPercival/trillian,gtank/trillian,AlCutter/trillian,gtank/trillian,daviddrysdale/trillian,gdbelvin/trillian,codingllama/trillian