Parse empty comments

Fixes #341.
All add primitives present in executor
Add all and primitives to the executor
All primitives through equality
Float primitives
Primitives a-g defined
Primitives a-l done
All primitives through S
Added the rest of the primitives to the executor
Extract getOp to top level defn
add Data.HVect

HVects are heterogeneous vectors indexed by vectors of types. While `HVect ts`
is isomorphic to `Data.Vect.Quantifiers.All id ts`, HVects are intended as
generic data structures like tuples or lists, while `All` to my understanding is
intended for proving things about Vects.
Fix Haddock parser error
Add type annotations to Primitives.hs to aid in understanding
Add type-directed HVect functions and supporting Elem functions
Make additions public and require totality
Make 'repeat' run lazily
Needs 'lazy' in the recursive call otherwise it will run forever when
compiled.
Fixes issue #352
Merge pull request #345 from david-christiansen/executor-primitives

Implement all primitives systematically in executor
Merge pull request #344 from andy-morris/comment

Parse empty comments
Merge pull request #346 from bitlisp/fixed-bigint-trunc

Fix truncation of Integer in C codegen
Merge pull request #349 from david-christiansen/haddock

Fix Haddock parser error