Convert to plugin style for lunr 0.5.0

This make some small changes to the way lunr.de works, instead of imitating the convenience function `lunr`, `lunr.de` becomes a plugin that can be used with the upcoming version of lunr.

To use this plugin with lunr you would do the following:

    lunr(function () {
      this.use(lunr.de)
    })

The changes were mostly small, however I added a few German language specific search tests, I don't speak German so I can't really comment on how relevant they are!

The tests pass, but I've probably horribly broken your build, sorry!

The main purpose was to show you how plugins will work in the next version of lunr and language extensions like this are the main driver for the plugin system. See also https://github.com/olivernn/lunr.ru.js.

I'm keen to get this next version released soon, and just need a bit of help testing using custom languages, so I'd appreciate any feedback you have. The next version of lunr is available in the [i18n branch](https://github.com/olivernn/lunr.js/tree/i18n), there may still be some changes before it is released but probably not around the plugin system.