AmmOption manages its own validation

Error scenarios are handled before success scenarios
Error outputs go to STDERR
Functions responsible for messages accept constant references to string