Set filetype unconditionally and after defining mappings.

Because NERD_Tree sets the filetype in its buffer, it's tempting to hook into the FileType event in order to customize it. Unfortunately, the buffer-local mappings are only defined _after_ setting the filetype, so one cannot un-/redefine them via this mechanism. (I know there are config variables and an API for that, but one may have other unforeseen uses.)
Therefore, swap the order and set the filetype last. Also, use :setlocal filetype= instead of :setfiletype. In the (remote) chance that a custom filetype detection mistakenly sets a filetype for the NERD_Tree buffer, the :setfiletype would be without effect, but we want to force the filetype (for the special syntax) here.
fix NERDTreeCWD

Closes #233
fix a bug where the user couldnt override the mapping for <cr>
move the class files out of the plugin dir

On some new versions of vim these files were being loaded before the
main NERD_tree.vim which was causing errors as dependencies werent
loaded in time. Move the classes into lib - so vim wont try to load them
until we tell it
Fix typo Casade to Cascade
Add correspoding close action to cascade open single child dir
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
Revert "don't redefine user-defined mappings"

This reverts commit 2fa35fb4949f670f1c137dc26a779f6e0515b330.
fix spelling in documentation
Merge pull request #263 from medvid/master

Fix spelling errors in documetation
Fixed typo in NERD_tree.txt
Fix help mistake
Create nested parent directories as needed

Allows the user to create or copy a nested node
in a single step with ma or mc, recursively
creating nested parent directories if needed, and
without throwing any errors if they already exist.

[Finishes #163, #34]
Ugly hack to fix Error 121 when NERDTree is the active window and clicking on the command line below another window.
Fix typo
Add option to respect wildignore
correct invalid reference to MenuController

I found an error when I tried to use [git_menu.vim](g:NERDTreeMenuController):

```
Error detected while processing function nerdtree#invokeKeyMap..91..90..<SNR>52_showMenu..65..82:
line    2:
E121: Undefined variable: s:MenuController
E15: Invalid expression: s:MenuController.New(self.children)
line    3:
E121: Undefined variable: mc
```

I searched the line at which it happened
then, I found that `s:MenuController` is not defined in  `menu_item.vim` but in menu_controller.vim .
So I corrected the name to refer to MenuController.
Issue 315 - Incorrect buffer deleted on file delete
Use pathogen.vim Helptags command in README file