Removing keyswitching

The keyswitch implemented solved a problem for one specific language.
Too domain specific to be included in default implementation
(cherry picked from commit 6f450b3a8fed1c4bca627f8dbb486e761d5a857d)
Adding strict cache option to JS component
(cherry picked from commit 5f44f96f989b3d458f5bdd17f0dff38f5c4586cd)
Added option to use spree search backend instead of suggestions. Added caching support
(cherry picked from commit 0873892e21d638319b67ff314f4ebb835a9ec5d4)