Throw a warning if a layout does not exist

Throw a warning if a layout is specified in a `Convertible` or `Document` but the layout file (in the `_layouts` dir) does not exist.

Should address #2251 and #2583.
We should also mention in which file the layout is being called.