don't redefine user-defined mappings

As a user it's a little jarring when a plugin maps over something I've
already defined.  This patch fixes that problem, by using `<unique>` to
ensure unique mappings.

For more info see `:help <unique>`

Note: This has no effect if the mapping isn't already defined (that is,
NERDTree is defining a unique mapping), so this won't break for normal
users of the plugin.

Note: `:silent!` is needed to ignore the error that occurs when a
mapping is already defined.

Fixes #252
Merge pull request #255 from joshuarh/unique-mappings

don't redefine user-defined mappings