initial iso_importer work

(cherry picked from commit 4e9bc6433c596cfddc7eb23d43fe81c026049779)
using runcible iso modules
(cherry picked from commit 48fd47c21d4fbaf2cb407fc198b6371e716a4a67)
migrating to storing content_Type in the repo object
(cherry picked from commit 94133486760327e61225146bf75c77247fc8f2bd)
ensuring content_type is preserved across clone
localizing message for repo content type
Menu - Converts to a structure of items and menus with base classes that define each.  All clickable links are items while collections of items and menus are menus.
Experimental Menu - Removes the need for a file to instantiate menus and moves the prune into the menu class itself. Includes updates to tests and menus to account for this new structure.
adding the ability to modify navigation

This will allow engines and other initialization code
to modify the navigation.
(cherry picked from commit 5716a444bb6a6ad3714af150278299f1a937d936)
Menu - Fixing whitespace.
Menu - Adding specific headpin menu generation.
Menu - Cleaning up errant commas, and making as_json just contain the hash.
Menu - Fixing up the copyrights.
Merge pull request #2126 from ehelms/experimental-menu

Experimental Menu - Converts from using functions that define hashes to a more object oriented approach.
Merge pull request #2108 from jlsherrill/iso_importer_split

properly supporting ISO importers and distributors in pulp