Don't repeat expression in PatBinds
Don't always export record constructors
Use two space characters for indentation

The code for the IE8 workaround used tabs and four spaces for indentation, while the rest of the file used two spaces. This changes the new IE8 code to use two spaces.
Support named functions
Use named functions to declare constructors
Use JS hashes in `fayToJsUserDefined` & `jsToFayUserDefined`
Extract `fayToJsHash` & `jsToFayHash` out of *Dispatcher functions
Add -base-path flag to fay-tests
set module name before running initial pass ( #285 )
test case to demonstrate requirement for setting module name before initial pass
Do imports/export calcs in InitialPass also
one newtype test failing, fix later
withModuleScope in InitialPass
Remove export calcs from Compiler
Cache stateModuleScopes
Don't reset _stateExports in Compiler
Don't bind locals in Compiler
Remove import filtering from Compiler
Remove unused compileForDocs
Fix compiler warnings