Morph search indexing and tests

Closes #144 

Creates a search index on init() - which is constantly updated when the morphology in the state changes.

This PR also adds good test coverage for the morph service. What remains untested is mostly external stuff (like retrieving forms from external services) and a couple of experimental functions concerning creation of new forms - they might change soon (cf. #137)