Add a lookup() function for injected values

The lookup() function will use the configured bindings and injector to
lookup a value. If one is not found, then nil is returned (which is undef
in the puppet language). Any errors from the injector are propogated out
to the caller.