Refactor the printer a bit. Broken proofs.

The repl was converting types to strings too soon, so that we had
branches on whether it was about to print the string "<word8>" or not.
This refactors so that the string conversion happens at the last minute.
This had the effect of moving the inf_type_to_string function from
repl_funScript.sml to compile.lem and thus needed some refactoring to
get the definition of infer_t into Lem.

As long as we're at it, we now traverse the list of types and bindings
together for printing, rather than turning the types into a finite map
and then traversing the bindings and looking them up in the map.
print based on the inf_type rather than the inf_type_to_string of it
use the type inferencer for the names as well as the types to print
HOL light translates again
other HOL light translation updated
open infer_tTheory in inferProps and inferSound
some progress on printingScript.sml

The new side-conditions can be seen on compile_print_dec_thm.
printingTheory builds
fix first case of compile_top_thm for new printing
finish fix of compilerProofTheory
Merge branch 'fix_print' into Word8Array
delete extraneous definition of new_top_vs
start looking at fixing replCorrect
updates to pretty printers for op app
Merge remote-tracking branch 'origin/Word8Array' into alpha_vector
conLangProof down to one cheat

Which, alas, is not provable.