First draft of user library and simple simulator

First draft of Java user library based on initial API.  Any function
using a map is not yet implemented.  All implemented functions have
been tested against the simple simulator (also added with this commit).