Explicit typing adds some speed

I added type annotations and then compared performance on a bigish instance on my laptop.  It shaved 35-40% off of the running time.

I suggest not merging this whole commit automatically, though because you may not like everything I've done in [test/runtests.jl]