load crate modules using ServiceLoader instead of es plugin mechanism

also add fatjar plugin to be able to create a single crate
jar.

The es-plugin mechanism doesn't work with a single jar file
as there can only be one es-plugin.properties file and that
can only have one "plugin" key.

In order to work around that the CrateCorePlugin is now the
only plugin loaded using the es-plugin mechanism and that
plugin is loading all other crate components (using the stock
java ServiceLoader which works using META-INF/services files
which can be merged in a single jar file)