As custom index types are supported -and required by, e.g., Google. Not
covering that case used to break the latter, thus required urgent fixes.
Before this change, breaking that case sometimes went unnoticed at code
review hence merge time. Make IndexType consider any non-lucene and
(non-)elasticsearch index type as "custom".
Custom only means that the index type has a String value that differs
from both of the two explicitly known type values ("lucene" and
"elasticsearch"). Google is likely configuring a specific index type
String value, albeit undisclosed externally. This is treated here as a
(the) 'custom' index type.
Adapt Daemon to not throw IllegalStateException anymore if such a custom
index type gets configured, by, e.g., the added CustomIndexIT test. This
test fails otherwise, indeed. The value of this added test is deemed
superior to the potential loss of Daemon's initIndexType() robustness.
Use lucene as default "custom" index type module for testing purposes.
Change-Id: I805222fb3c40917b294e78b1110d0f45e9878f7c