Testing using ScalaTest 2.0+, ScalaCheck 1.11+, jacoco coverage reports, scalastyle and improved documentation