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 
@cirosantilli Oops, I meant to do that before pushing... thanks for catching this!