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.
`layout: none` would be invalid unless `_layouts/none.html` exists. We should only consider `nil` (and maybe false?) as the user not specifying a layout. If I have a layout called `none` but haven't created the file, I'm going to be upset that this warning didn't catch my error.