Cleanup of Finder.java to match libanki 2.0.26.

- 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 version uses set which guarantees uniqueness automatically)

Contains these commits from dae/anki:

- support cid:<card id> search (https://github.com/dae/anki/commit/013f879d4e6a5cc503e3650edc97baaf7d818a0b)
- strip html in duplicate check (https://github.com/dae/anki/commit/4d42282b7b435e7ac0c8840f26ec89fa3da63701)
- escape + in deck names (https://github.com/dae/anki/commit/26a3c30365c3d8fc0dfbd7d9782e34131f8f484b)
- fix find dupes when fieldname case differs (https://github.com/dae/anki/commit/5db00d58158280c2e01ef5fa7e686b2792e168dc )
- fix duplicate search in browser (https://github.com/dae/anki/commit/3f6266a7123b23f14a593d34e0cc3287e10e689f)
- failure to find a field should not break entire query (https://github.com/dae/anki/commit/b571a4caa85bebf5a736ac1789b3ec4a51386631)