JavaInfo tests, things
JavaInfo: privatized constructor, use caching
Finished static factory method patterning. Cleaned JavaVersion, updated tests
static factory method: check for null