Create a feature to confine the provider.

We were using the pyenv_binary fact hack to work around the fact that we
couldn't defer provider evaluation until the vcsrepo resource had
completed.

Turns out we can, by defining a feature which currently looks for the
Fact pyenv_binary and if that is not found looks for our default of
/usr/local/bin/pyenv.

Now resource evaluation will be deferred until the provider becomes
suitable. If that never happens the resources will simply not be
evaluated.