Introduce the ExclPat type

The `ExclPat` data type represents an exclusion pattern, which is in two
parts: the dotfile directory (or all), and the file glob. In the
configuration they are joined with a colon.

The dotfile directory is represented as a `FilePath`, and the file glob
as a `Pattern` from `System.FilePath.Glob`. The `Pattern` is compiled as
a POSIX pattern so as to preserve compatibility.

Of note, any additional colons in the file glob are considered to be
part of the glob.