Refactored codebase to share primitives between front end and back end

Depends on #124 

Logically merged frontend and backend value systems.
This change is unrelated but tiny. It enforces the use of Java 8 from Gradle.