Update processFilter(String) in FilterTasks class

Type of filters: /done, /undone, /floating, /timed, /deadline, <keyword
string>

display <filter> will find the intersection of the filters until the
intersection is empty. When intersection is empty, it will start afresh
from the list of all tasks and apply the current filter.
When this happens, there will not be a composite filtered result.

Example: “display /done” will show all done items. If this was followed
by “display /undone”, the intersection result will be empty. It will
then reset the filtered list and retry the “display /undone” command.

In the event where there are no undone items, it will still display an
empty list of tasks.