Fix FileImporterPlugin

- Rename some files/classes to remain
  consistent with other plugins
- Import gettext when it is necessary
Plugin fix: Add missing parent constructor call

GlobalMenuExtension inherits from NetzobExtension
an therefore needs to call its constructor
Log more information when plugin loading fails

Switch from logging.warning to logging.exception
to log traceback when netzob fails to load
a plugin. This should ease plugin debugging
and allow users to report bugs.
GTK+3 port: Port MenuExtension to UImanager
Create plugin extension ImportMenuExtension

This extension inherits from GlobalMenuExtension
and allow import plugins to plug themselves
into the import menu. It is more specific
than GlobalMenuExtension and easier to use.
It also allows to factor code that is
common between all importer plugins.
Plugins: Improve mandatory decorator

Previous @mandatory decorator removed
decorated methode __name__ and __doc__ attribute.
The new decorator preserves these attributes and also
features a simpler and more pythonic design.
Plugin superclass can implement @mandatory methods

This commit modifies PluginChecker to look for
implementation of a @mandatory method in
the superclasses of a plugin
New plugin class to ease plugin implementation

The newly introduced NetzobPluginProperties class eases plugin
implementation by providing the mandatory getName(), getAuthor(),
and getDescription() methods.

You can make your plugins inherit from this class, if you do not
want to reimplement the foregoing methods.
Use NetzobPluginProperties in FileImporterPlugin

- This commit also removes the useless setVal method
Remove unecessary GlobalMenuEntryPoint class

GlobalMenuEntryPoint was replaced by the more generic
ImportMenuExtension.
Remove unecessary imports in FileImporterPlugin
Remove useless methods in FileImporterController
Change in ImportMenuExtension

- Plugin controllers that use ImportMenuExtension
should now have a run() method to display
the GUI (instead of displaying the GUI
when they are built)
- Modified FileImporterPlugin to comply with
this change
Add logging instructions in plugin menu extensions

This should ease debugging
Add missing parenthesis in debug message
Minor changes in import plugin architecture

- Make AbstractImporter a new style class
  (enable derived classes to use super())
- Add NetzobImportException to enable
  importers to report errors to their
  GUI
Introduce PCAP importer plugin (see #248)

- PCAP import mechanism was made into a plugin
- Removed menu entries for former PCAP import
  mechanism
- Introduced new PCAP import dialog
Enable loading of multiple plugins (closes #236)

- This commit fixes a bug which prevents multiple plugins to
  be loaded (currently only one plugin can be loaded)
- Slight change in the getLoadedPlugins method which returns
  the list of loaded plugin instances. It now only returns a
  plugin if it was declared in the setup.py file (instead of
  returning instances of all classes inheriting from a
  given base plugin class)
Introduce generic importer plugin view/controller

This commit introduces a base view and controller
(AbstractImporterView, AbstractImporterController) that can be used
to implement import plugins.
This base view features an import dialog with a common skeleton
for all import plugins. Derived classes can plug their specific
widgets in this common skeleton.

PCAPImport plugin was ported to this new architecture
Port FileImporter to generic view/controller

The file importer plugin now uses the previously introduced
generic view and controller.

This commit also includes slight chnages in this generic importer
plugin view/controller architecture. The PCAP importer plugin
was modified to comply with these changes.