Cleanup of Finder.java to match libanki 2.0.25.

- Moved add function into existing SearchState convenience class. Avoids passing itself as a parameter and is now contained in the only place it's used.
- Added missing search commands (_findCids, _findDupes).
- Moved AnkiDroid-specific code into own functions at bottom of file.
- Overload _order instead of unreliable check for "true" string.
- _findDeck() checks if did is already contained in wildcard search (python uses set)

Contains these commits from dae/anki:
- failure to find a field should not break entire query (b571a4c)
- fix duplicate search in browser (#855) (3f6266a)
- escape + in deck names (26a3c30)
- support cid:<card id> search (013f879)
- fix find dupes when fieldname case differs (5db00d5 )
- strip html in duplicate check (#906) (4d42282)