Add `at-doc` and related code from Docile.

This is some initial work to add `@doc` from Docile. I'm not sure if I've done the `include` and `export`s correctly -- it does work fine when calling `using Base.Docstrings`.

Only the module itself is exported from `Base` since I didn't feel adding additional exports was necessary.

I've retained the metadata section for each documented object (as per Docile), but I'm aware about the debate regarding whether to include metadata or not.

Hopefully this PR can further the discussion regarding package documentation.

**TODO**

- [ ] tests
- [ ] documentation