input: use the fields name if the json key is not available
input: allow tags to contain a required field to specify whether they should be required in cleaning input
user: add required tags to the UserInput struct