Split IntFF from Int implementation.

So hopefully it's easier to improve the IntFF implementation without worrying
about PartialF.
Move primitive int operations into IntFF.

In preparation for making them better.
Low level optimizations of Int# primitives.
Fixed bug with symapp of Integer.
Don't use select for binaryPF.

Because it doesn't actually do anything except slow things down.
This leads to a notable constant time performance improvement.
Add seq and ($!) to Smten Prelude.
Optimize isLitInt# a little bit.

Rather than being stupid and boxing and unboxing the literal value.
Do garbage collection for STP in c, not haskell.

This fixes issues we have had with stack overflows and otherwise stupid
performance with STP.
Improve Int# primitives when arguments are symbolic.

It was being totally stupid before.
(It's still being totally stupid in a few places).