Bastion: improving the i18n filter and translate details page.

Improvements include:
 - Using English strings for translation keys.
 - Using dictionaries with named keys for replacements.
 - Tests

Instead of using the existing katello i18n global javascript object
here we are using our own dictionary file.  The dictionary file still
uses the existing gettext interface but uses the english word/phrase
instead of using keys.  This allows us to display English as a backup.

We also are using dictionaries instead of lists for the translated
strings.  This makes it easier on the translators as it should be
more obvious what value is getting replaced in the string at runtime.
Merge pull request #2570 from waldenraines/bastion

Bastion: improving the i18n filter and translate details page.
Merge pull request #2572 from ehelms/bastion

Bastion: Moving assets around and cleaning up data loading implementation.
Bastion: Adding base inline edit directives and adding them to system details.

This is the basis for a set of inline edit elements that can be used
on pages like details. These should allow a developer to declare in one
line the property that can be edited and the function to call when if
the user saves the information entered.