Fixing bug where non-image types might break if app_config['original_date_visible'] is true

Not all media managers have the .get_original_date attribute, so of
course break.  This is fixed by making a new space where individual
media types can define this if they like.

This commit sponsored by Matthieu Dupont de Dinechin.  Thank you!
The pdf.js iframe view is awesome so I'm making it the default.  So there! ;)

This commit sponsored by Jay Turley.  Thank you!
Link to the plugin api stuff and the database plugin sections from the quickstart.

This commit sponsored by Nathan Stephenson.  Thank you!
Actually link to the release notes when we say "see the release notes".

This commit sponsored by Brian Kemp.  Thank you!
Where do you find hooks?  How do you add them?  An explaination!

This commit about talking to community members sponsored by
community member Aeva Palecek.  Thanks!
Additional hook tips!  Documentation on how to modify a wtforms form.

This commit sponsored by Gian-Maria Daffré.  Thank you!
Actually use the right underlining for the wtforms hooks section
Provide a tip on how to do interfaces via our plugin API.

Uses a frogputer science approach to frobbing as an example (which is
total nonsense, but fun).

This commit sponsored by Ryan Kelln.  Thank you!
Explained more clearly why it's okay for interface classes to be keys.

This commit sponsored by Nick Glynn.  Thank you!
Commenting out the max-height restriction on thumbnails.
Merge remote-tracking branch 'upstream/master' into basic_auth