Updated documentation (fixes #4013)

* Describe func!(x) convention for functions which modify their arguments
* Add brief introduction to standard library
* Fix up a few links

Most of this is straightforward, but if anyone has any suggestions (or feels strongly about a change), let me know. Or just update the pull request.