Added functionality to clear, to clear search when selected.

Created inner classes for the listeners to clean up code.

Added "Optional" next to first and last name.
   (next sprint i plan on adding a button next to it with a ? and when
   user clicks on it itll pop up with an example)