add note: which files to touch when changing DDC_FLOW_USE_LINEAR_SOLVER make configuration
fix #336: Snip;Flatten;Forward no longer removes original names.

added a special case to flatten:

> let x = (let ^ = def in ^0)
>  in rest

now becomes

> let x = def
>  in rest

instead of the previous

> let ^ = def
> let x = ^0
>  in rest

this plays nicer with Forward transform, letting the transformed program
keep the original variable names where possible.
fix #335: usage analysis was not handling shadowing

modify the usage analysis to clear names from the map, outside the
binders. this handles shadowing.
previously, shadowed variables were being counted as being used at the
site of their shadowers.
add transform parser "SnipBody"
update tests to new binders after modifying Flatten and UsageMap

many names changes in the tests, but this should make the output
eaiser to read in the future.