Fix typo in src/netzob/UI/Import/Controllers/PcapImportController.py
Update the glade's header comments.

The old header was not XML compliant due to the presence of "--".
Hence "--" are replaced by "~~".

The prec-commit hook has been upgraded to include this new format of header.
Update the importer plugin architecture.

Importer plugins are instanciated on startup. The definiton of the current project
and of the current workspace should be computed when required and not while
initializing. The included modifications provide the netzob variable to the Abstractimporter which
allows to retrieve the current project.
TEMP COMMIT: glade extraction
TEMP COMMIT: glade extraction
QA: Disable some PEP8 checks (E711 & E712) for now since they raise way too much errors.
QA: allows pre-commit.py to ignore some kind of files (*.png, *.pyc, etc.) and some specific files.
Revert "TEMP COMMIT: glade extraction"

This reverts commit ac7a3308aca4a20d281b2392089157670a1e85c2.
Revert "TEMP COMMIT: glade extraction"

This reverts commit f68403fe9b15d85f844d1013d9c1908aaf02be0a.
Merge branch 'master' into next

Conflicts:
	src/netzob/UI/Import/Controllers/PcapImportController.py
Displays the path of imported C extensions using debug logging levels.

Since this commit, the logging configuration was done too far away from the starting
position of Netzob. Before reaching this level no logging facility was properly configured.
A basic configuration of the logger is added in Netzob launcher in order to display
debug level messages at startup.

This debug level should be changed before releasing.
Execute DepChecks before importing any other Netzob module.

Netzob's import resolution required _libs to be fully imported.
If libs are not available the DepChecks should detect it before any other
tries to import them.
Fix the segfault in getBID function and upgrade its definition and verification for Netzob's C Extensions.

The segfault which was due to an improper definition of an char array size (in getBID function) is fixed.
The C definition of the getBID function is nox exported into a dedicated source file, getBID.c.
The compilation is updated in order to support the architecture of X files.
Port Plugin architecture to abc

The python abc module (Abstract Base Classes), allows
python developers to create declare some methods
or attributes as abstract in Python classes.
This mecanism provides a more robust alternative to the
previously implemented decorator based plugin check.

- The PluginDecorators file was deleted because
  the @mandatory decorator is now useless
- NetzobPlugin was modified to become an abc (Abstract Base Class)
  The __plugin_name__, __plugin_version__, __plugin_description__
  and __plugin_author__ attributes as well as the getEntryPoints()
  method were declared as abstract. Therefore, these attributes
  and method must be reimplemented in plugin implementation.
- The PluginChecker was simplified a lot. It nows only
  checks that a plugin class inherits from NetzobPlugin.
  (It does not have to check that all abstract methods are implemented
  as this checks are now handled by the Python abc module)
- The NetzobPluginProperties is now useless and was removed.
  Plugins inheriting from this class were modified to now
  directly inherit from NetzobPlugin.
Automatic plugin detection for file import

This commit enables netzob to automatically select the appropriate
plugin when importing messages from files. The user does not have to
the type of file from which he wants to import messages anymore,
he can simply click on Project > Import Traces > Import from file.
He is then able to select one or several files in a FileChooserDialog.
Afterwards, Netzob automatically picks out the best plugin to handle
the selected file(s).

This commit introduces the *notion of File Importer Plugins.* A
File Importer Plugin is an Importer Plugin (ie a Plugin which is
able to import messages in Netzob) which imports messages
from files. File Importer Plugins must provide three methods
to allow the foregoing mecanism to work :

- canHandleFile(filePath) : Returns True if the plugin
  can import messages from the file at filePath. False otherwise.
- getFileTypeDescription() : Returns a string decribing the types
  of files the plugin can handle
- importFile(filePathList) : Imports messages from a list
  of files.

The existing import plugins (oSpy, XML, Delimiter separated, PCAP)
have been ported to this architecture.

The plugin which is able to import messages from any delemiter
separated file, previously name FileImporterPlugin was renamed
in DelimiterSeparatedPlugin to avoid confusion with the newly
introduced base class FileImporterPlugin (which the base
class from all File Importer Plugins described above).
Replace strcpy by strncpy to limit buffer overflows in Netzob.

This commit also a fix a minor bug which prevented a debug message to be display
by the DepCheck.py.
Correction Of TraceManager: Forget to import the Gdk module. This causes a bug when you do: manage traces and then clic on a trace
QA: Fix a lot of QA issues.
QA: fix some PEP8 issues in setup.py.
i18n: Fix translation files exclusion in MANIFEST.in.