Added a Free Applicative implementation.

Instead of relying on the 'free' library which has a lot of
dependencies, env-parser will be more portable if I just implement
the relevant parts of a free applicative library directly.
Free Applicative impl of Env.Parser

Now that we have our free applicative library embedded, we can use it
to easily reimplement the multiple behaviors of the Env.Parser. The
advantage of this method is that it's much more explicit and easier to
extend both in providing new interpreters and extending the signature
of the Parser should we wish to add more effects.
Simplified Env.parse/Env.deps using natural trans

The easiest way to implement a free interpreter, provided you can
interpret the free structure "one step at a time" is to use a natural
transformation from the signature functor to the target applicative.
This method can be applied simply by using the `raise` function.

We reimplement Env.deps by noting that the natural semantics of deps
is monoidal summarization with no other value, i.e. Const [String].

We reimplement Env.parse by noting that the natural semantics are
failure with monoidal collection, i.e. the "purely applicative sum"
type. That type has been included as well under the name Collect.