Fixed analyzer warnings and memory management issues

There were a lot of places in the code that were not properly retaining
objects upon allocation. This was causing many crashes for me.
Fixed some crashers relating to notifications

We were setting up notifications in places where methods were being swizzled.
It is important that we unregister for these notifications when the swizzled
object is about to be deleted.
Fixed occaisional crash when changing files
Fixed occaisional crash with switching between editors

We were only deregistering the observer if the editor type was the source code
editor. I moved the unregister logic to the superclass hook.
Merge pull request #332 from zanneth/master

Fixed numerous memory management issues and possible crashers.
Quick Fix for #332 (Hunging up on start up)
Fix for deadlock due to calling parseRcFile inside +instance singleton method
Merge pull request #338 from abigagli/master

Possible fix for deadlock @startup discussed in Merge pull request #332
Support Ctrl-W + 'h,j,k,l' (Issue #334)
This is easy implemantation.
Ctrl-W+j,l moves forcus to next editor area.
Ctrl-W+h,k moves forcus to previous editor area.
Made Ctrl-W + h,k,l,j behave more like vim. (#334)
Add window related features
Fix window operation documentation
fix issue #336, #339 '3x' and '3r'
Add primary XVim class hierarchy figure documents.
Merge pull request #344 from pebble8888/classdoc

Add primary XVim class hierarchy figure documents.
Fix j,k motion issue #257
Create LICENSE

XVim is now under MIT License
Update README.md
Logging keyDown events through DEBUG_LOG macro
Merge pull request #348 from abigagli/master

Logging keyDown events through DEBUG_LOG macro