Add task lists to issues and merge requests

Make the Markdown parser recognize "[x]" or "[ ]" at the beginning of a list item and turn it into a checkbox input.  Users who can modify the issue or MR can toggle the checkboxes directly or edit the Markdown to manage the tasks.  Task status is also displayed in the MR and issue lists.

This is an accepted suggestion from [feedback.gitlab.com](http://feedback.gitlab.com/forums/176466-general/suggestions/4255282-clickable-task-lists-in-issues-for-sub-tasks-with)

#### TODO

* [x] Write Rspec tests
* [x] Write Spinach tests
* [x] Update documentation
* [ ] Move functionality to a pipeline filter like #7853 
This one could also be DRYed up with the the other test and merge requests. Ideally, a single helper for all, but 2 helpers + a helper with the large string constant would also be fine. Repeated big constants and analogous PR / issue modifications are two a large signs for refactoring ;)