started work on getting a difficulty from stdin

so far getDifficulty will read a line from stdin and return an IO Difficulty
corresponding to the entered text, agnostic of case or whitespace.
An association table is provided in Workout.hs mapping Strings to Workouts
to aid this.
However, I have not yet implemented a good action to take when the entered text
does not match a difficulty. Currently it defaults to Easy, but it will be changed
to loop until the user enters a valid Difficulty
Fixed handling of entered text not matching a Difficulty

Now it loops until the user enters a valid difficulty.
Fixed by simply moving where the return went
Added map from workout type str to func to get that workout from stdin
Started parsing workout types from stdin

getWorkoutTypeFunc :: IO (IO WorkoutType) will read a line from
stdin, parse for the name of a WorkoutType (reading more lines if
the current one isn't valid) and return a function that will read
from stdin and return a WorkoutType

Again this is aided by an association list. The previous one was renamed as well.
'Finished' function to get a Workout from stdin

getWorkout is now essentially complete and functional.
Calling it will read a Workout from stdin.
We say essentially because the whole thing still lacks features on the
TODO list, but the structure for reading a Workout is complete