readerdictionary: separate out raw sdcv handling from startSdcv
readerdictionary: separate out raw sdcv handling from startSdcv

In order to make startSdcv usable for plugins that might need to do
dictionary lookups in order to work, it is necessary to split out the
core of startSdcv into another method which returns the raw data from
sdcv.

In addition, in order to make it possible to amortise the cost of each
lookup (which could be fairly expensive) make it possible to pass
multiple words to rawSdcv at the same time. Sdcv supports passing
multiple words as arguments (which it then looks up in order and returns
a separate JSON array per line for each word) so we just need to tweak
the return style accordingly.

All of the deduplication and dummy results handling remains in startSdcv
because plugins might strongly depend on whether sdcv returned actual
results.

Signed-off-by: Aleksa Sarai <b305c9b0212d6145eea67bbffd24e29cb79c759c@cyphar.com>

poire-z/koreader,Frenzie/koreader,poire-z/koreader,NiLuJe/koreader,koreader/koreader,NiLuJe/koreader,koreader/koreader,Frenzie/koreader