Documentation System

A metadata system for global objects + pretty markdown parsing and display (see the [readme](https://github.com/one-more-minute/Markdown.jl)). For example:
```julia
@doc """
... flowing rivers of technical poetry ...
""" ->
function foo() ...
```

Documenting multiple methods of a function will concatenate the doc strings together, in the order the methods were originally defined, and this is overloadable.

By default `@doc` treats unadorned strings as equivalent to `md""` (i.e. markdown syntax) but you can actually put anything before the arrow to associate it with the function.

Docs can be queried with e.g.
```julia
doc(Docs.doc)
@doc Docs.doc
@doc @doc # For macros
@doc text""
```
(and you can try these out on this branch – the repl help key `?` will work too)

General Todos:

- [ ] Prettier syntax (`"..."` -> `@doc doc"..." ->`)
- [ ] Add `Docs.@init` call to module init code
- [x] REPL `?` integration
- [x] Make sure exports are present and correct
- [ ] Move away from the current help system and deprecate it
- [ ] Fix the segfault when `Text` docs are uncommented (!?)