Add MongoDB dependencies

This branch will be used to test a switch from Elasticsearch over to
MongoDB. For this commit I have added some dependencies. I will use
mongoid as the object mapper.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Implement repositories persistence through Mongoid

The repositories are now persisted through Mongoid to the MongoDB
instance instead to Elasticsearch. Next are the metadata records.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Adjust metadata class to Mongoid mapper

The metadata class is now renamed into meta-metadata. I think this
distinction is important. The domain of Metadata Census are metadata.

As a matter of fact this class embodies the metadata plus additional
data.  So meta-metadata seems appropriate. Also renamed the databases.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Implement meta-metadata persistence layer

The meta-metadata is now persisted, too. It all works very smoothly
without the pain of Elasticsearch and tire.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Rename meta-metadata class to metadata

Yes, again. Since a field with name metadata is not possible I renamed
it back to record and made the whole point of calling the class
meta-metadata unreasonable.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Improve image carousel

Just improved the image carousel a bit.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Add has_many relationship to repository

In order to express the has_many relationship between repository objects
and its metadata I have added the appropriate DSL command. After this I
also had to tidy up the metadata generation persistence code.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Migrate custom Elasticsearch methods to built-ins

Mongoids has a rich DSL for accessing the MongoDB API. I start to
refactor more and more code. For instance now I was able to drop
the total method of repository and use the relationship method.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Start to refactor the scheduler of metric tasks

Finally, I start to refactor the controller and view to compute the
metrics. This is now called: scheduler.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Customize metadata document identifier

With this customization I can import the same metadata records as often
as I want. There won't be any duplicates.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Adjust scheduler stylesheets towards Bootstrap 3

In the progress of adapting the new style to the admin scheduler I have
made further changes. This includes to move the breadcrumb into a
partial, rather than a layout file.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Re-layout the scheduler task table

I have updated the layout and styling of the scheduler task table. I
decided to keep the table as it gives an better overview than separate
dashboards which take up too much space. I have also started to refactor
the JavaScript code.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>