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.
Please use `#is_a?` for class checking