Use final classes with private constructors for constants

Also split Utils class into StringUtils and ClasspathUtils per review in #15