Implemented a pattern based peephole optimizer.
Main improvements:
1. every CONS-[MULTI]CLOSURE saves one instruction
2. most funcalls save one stack access
3. fixnum arithmetic (plus and minus constants)
4. fixnum case of generic add/subtract constant
5. fixnum bitwise operations with constants (and/or/not)
1 and 2 give about 5% on closure/funcall heavy code.
3-5 are improvements made possible by the screwy fixnum tag.
`Natural' fixnum tags would make them obsolete (but some of the
rewrites are as good). 5 improves hash table operations up to 10% due
to how `flags' are implemented.