Fix #2: Better handling of input in recording

Added a UserInput class
	Define question, input_type, default_value and threshold.
    Input is validated against input_type.
    Num retries defined by threshold.
    get_input method for flow.
    get_user_input for single

Utilize UserInput in record_wav
	Define default device as first
	Show default in device list
	Indicate which device is being used
	Retry threshold is 3