Better search

Ok so this pull request makes bunch of changes:

1. All the noun data moved into separate json files.
2. Verbs are no longer hardcoded for nouns, instead there is apps.json which is sort of
    app registry containing declarative action definitions for apps. This makes adding
    new apps / actions super easy.
3. Now verbs and nouns are combined on the fly, first search attempts to match input
    as verbs + data (such matches will have bigger scores), then attempts match input
    as just data. (such matches get less score than verb + data). All of this are mathches
    are merged togather.
4. Now there is `results` stream that represents stream of all searches ever made :) Although each query starts with special `SOQ` value that indicates Start of the query
results. In this way writer / renderer can decide to dim or discard previous matches.
5. Results are now rendered by their score although that part is in previous pull request
    #1
6. Instead of making contacts a special case I registered app `contacts.gaiamobile.org`
    with action that has empty name and takes `contact` as parameter. This way contact
    matches are displayed naturally. In similar way music app could define action with
    empty name. This than will match all the songs just by typing song name and will be
    identical to typing `play ` followed by same song name.