Improve defined type input validation

Without this commit the defined types `autofs::mount`,
`autofs::directmount`, and `autofs::include` accept any input that is
not `undef`. Since the defines are checking directly against `undef`,
values of `false` or an empty string will end up being used.

This commit refactors the defined types to pass any value that is
not `undef` through an stdlib validator to ensure the passed string
is an absolute path.