added check to ensure at least one exported field

If no valid env fields are included (i.e. unexported, empty env tags
etc), an error will be returned as the code did no work and this is NOT
what the user expected.
add a test for decoding a struct with no tagged fields
Add support to initialize *url.URL values from the environment.
Simplify conditional