Implement nested commenting functionality.

Notepad++ has a very interesting XML plugin which deals with
nested XML comments in a very simple way:

* Each time a selection gets commented, any existing nested comments are
replaced with '<!{1}**' and '**{1}>'. These characters are no longer
special and thus allowed inside of a comment.
* Uncommenting will remove any comment tags and place new comment tags
everywhere the placeholders '<!{1}**' and '**>' can be found.
* If commenting a block of text which already has any of those
placeholders, the numbers in brackets are increased.
If uncommenting, the numbers are decreased.
This makes commenting/uncommenting a lossless operation, which is a
large improvement compared to other editors where the nested comments
are simply removed.

By default the following mappings are implemented for visual modes:
* <Localleader>c
* <Localleader>u
Restore selection, disable x lines changed report.

By restoring the selection, the user can immediately see if the right
elements were commented and choose to uncomment again if necessary.

Tweaking the change reporting is just an extra tweak; it is assumed that
no buffer-local setting was present before.
Proper comments in visual line mode, documentation

Comments are now placed on a new line, and those extra lines get removed
when uncommenting.

Added example of nested comments and difference between visual / visual
line modes to help file.
Comment feature: add plug mapping, conditional map

The mappings for the commenting feature might conflict with plugins like
NERDCommenter. Check if the user disallowed the mapping through a
variable or if it is simply *already* mapped.

Thanks to a <Plug> mapping, the user can also craft his own mapping
without too much trouble.
Comment feature: Document map conflict resolution

Added 'xml_no_comment_map' setting documentation, add a note about
conflict resolution and how to map your own keys.
Merge pull request #39 from albertdev/nested-commenting-feature

Nested commenting feature