Scrub

Let me know what you think! @mohit @jonahkagan 

(this is going to branch pr_onto because my first few commits went to master and so you wouldn't see the full PR. Once we merge this to pr_onto we can set it as master)
deepMapValues doesn't map over arrays, so you may need to create a version that also recurses on arrays. a test case with an object like this should demonstrate it:

```coffee
a: [{password: 'x'}]
```