Small style and typo fixes
Only emit record functions if they're referenced

This prevents littering our emitted LLVM IR with unused symbols.
However, user defined procedures are still planned and emitted to make
sure even unused procedures have errors emitted.
Remove gen-types.py

This has been superceded by the Scala typegen project
Rename "unspecific" to "unit"

The references to unspecific values in R7RS are conceptually similar to
unit values in other languages (Haskell, ML, Scala, etc). The current
name of "unspecific" is a side effect of the language in the Scheme
report and not very clear for outside developers.

Rename the type to and the value to #!unit

Closes #7
Rename SingletonValue => PreconstructedValue

This matches the terminology used in cellTypes.celldef and more
accurately describes the concept (i.e. boolean has two values so it's
not a singleton)
Only declare _lliby_record_data_alloc if needed

Even inline/empty record classes were declaring this even if it wasn't
used. This is a noop change but cleans up the IR slightly