Add "required" annotation

Fix #2

This change adds the "required" annotation. The "required" annotation requires the environment variable to be present. If it is not present, an error message is printed and the program exits.

The exit behavior is in the FailureFunc variable. This variable can be changed to allow for custom behavior upon required environment variable failure.

This change is backward compatible with previous releases. No user-programmer code will need to be updated.