Reset user input dictionary and matcher function on each call. Fixes #31

Previously the dictionary was appended to with each function call, so user_input from previous calls would persist and build up, affecting the scores of passwords that it was not intended to. Because the user input can change on each call, the dictionary and corresponding matcher function need to be reset and built with the current user input on each call.