Documentation update: Fixes issue #1557

- Moves entire documentation to Markdown format. Much simpler.
- Fully supports Doxygen 1.8.7+
- All documentation targets updated: user_doc, share/man, doc and doc/refman.pdf.
- Tested across Ubuntu, CentOS and Mac OS.

Output preview:
- [User HTML Docs](http://thebespokepixel.com/fish/user_doc/html/index.html)
- [Man pages (as .zip file)](http://thebespokepixel.com/fish/man1.zip)
- [Developer docs](http://thebespokepixel.com/fish/doc/html/index.html)
- [Developer PDF manual](http://thebespokepixel.com/fish/doc/refman.pdf)
I think this whole `if` statement is wrong. Not only is the conditional bad, but the `else` branch is also wrong.

For the conditional, you're testing the exit code of `sed`. But you're also treating the output as if it were a command, which is inappropriate. In the event that the `sed` returns 0, but doesn't delete the line, it will then attempt to execute the command `x`. Instead, to just test the exit code, you probably want

```sh
	if echo x | sed "/[[:<:]]x/d" >/dev/null 2>&1; then \
```

That properly tests the status code without attempting to interpret the output as a command. It also suppresses any output just in case. Ideally we'd also test to make sure it output nothing, but I think that's a little overkill.

As for the `else` conditional, you're setting the vars to e.g. `'\\<'`. The extra backslash is unnecessary. /bin/sh does not interpret backslashes inside single-quotes. If you `echo` the variable it will, but only because the `echo` builtin interprets escapes. However, you're not passing the results to `echo`, you're passing them to `sed`, and `sed` will not want the extra backslash.