Change primary snapshot parameter from id to date

In the repository manager I forgot to change the primary identifier for
snapshot.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Rename repository breadcrumb into just breadcrumb

I have removed the repository prefix from the breadcrumb partial since
it is applicable to all kinds of entity pages.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Move dropdown menu functionality into the caret

In order to turn the breadcrumb navigation into a proper breadcrumb I
have moved the dropdown functionality into the caret. The display link
will be used to navigate directly to the entities.

Repository > Snapshot > Metric

If the user clicks on Snapshot then the page for the selected repository
and snapshot is open. In effect, this means that the user can navigate
vertically through the domain model.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Set secondary snapshot parameter to :snapshot_date

The secondary parameter used for the snapshot parameter has been
changed, too. From :snapshot_id to :snapshot_date.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Turn metric classes into singletons

I am starting to turn the metric classes into proper active model
entities. For this I will need actual objects as opposed to symbols.
Thus, I chose to use the singleton pattern.

The metrics will be instantiated at the start of the application. The
parameters that have been passed so far to the initializer are now
passed to the configure method.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Refactor view code towards the new metric objects

I have to fix a lot of code in the view where metric has been handled as
symbols so far. It works quite well. For the JavaScript part I added a
Jbuilder template.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Provide a custom ActiveModel::Name for metric

Finally, by providing a custom ActiveModel::Name for the metric class,
the objects can be seamlessly integrated into the breadcrumb navigation.
This was the most important piece of puzzle in refactoring the whole
model.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Fix more leftovers from the refactoring

There are still a number of small bugs and errors happening due to the
refactoring. Unfortunately, there are a lot of things which are not
covered by tests yet. This commit fixes some of them.

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