Added some options. Cleaned up a bit.

Added assembly_mode.
Removed do_opencl since it seems to be disabled.
All options now defined via same 'options' dictionary, and sharing mako defs
where possible.
Added failure tests for initialization and options that take a finite set of
options.
Adding accuracy to general options

Modified RangeAccuracyOptions to have default arguments, in line with c++ code.
Add basis and result types