implement backspace + delete

- prevents you from bringing real code onto the end of a comment
- deletes escaped characters as a whole from their edge or from their middle
- enters pairs () [] {} and strings "" and deletes their guts before deleting the emptied pair
- prevents you from exiting a pair if there's real stuff behind you (foo |)
- allows you to delete an arbitrary selection (doesn't inspect the selection -- you could create an unbalanced pair this way -- could extend to warn if this is the case, depending on what the community thinks is best)
- allows you to delete normally within comments

Example `user.keymap` from berdario:
```
{:+ {:app {}

     :editor {"alt-w" [:editor.watch.watch-selection]
              "alt-shift-w" [:editor.watch.unwatch]}

     :editor.clj.common {"backspace" [:paredit.backspace]
                      "del" [:paredit.delete]
                      "alt-s" [:paredit.unwrap.parent]
                      "alt-shift-s" [:paredit.select.parent]
                      "esc" [:paredit.select.clear]
                      "pmeta-right" [:paredit.grow.right]
                      "pmeta-left" [:paredit.shrink.right]
                      "pmeta-shift-left" [:paredit.grow.left]
                      "pmeta-shift-right" [:paredit.shrink.left]
                      }}

 :- {
     :editor.keys.normal {"backspace" [:editor.backspace-pair]}}}
```