Add a lint pass for the Rich language

Includes a fix for a discovered bug in remove default where the
introduced binders had incorrect type.
Add a run tests program
Fix a silly looping bug in rich to simple