Added new UI icons and main glade interface
Make NetzobGui import main glade file

This commit is the start of the effort to
integrate the new ui, available in a glade file
in Netzob's source code. It contains some experiments
to make this glade interface work with Netzob.
Improvements in main glade interface

This commit improves the symbol list panel
(on the left on the vocabulary view). A piece
a test code was also introduced in NetzobGui to
test this symbol list panel.
Added symbol list toolbar callbacks

Added callback for select all symbols button
Added more callbacks for symbol list toolbar

Added callback for create symbol button
and unselect all symbols button.
Finished adding callbacks for symbol list toolbar
Allow messages of symbols to be displayed

This commit enables messages of selected symbols (of the
symbol list in the left panel) to be displayed in one or
more panels in the right part of the vocabulary view.
Introduce a perspective system in main window

This commit add a support for perspectives in Netzob
main window.
Perspectives are composed of :
- A central panel
- Optional menu items to merge in Netzob main menu
- Optional toolbar items to merge in Netzob main
  toolbar

Netzob main menu and main toolbar, now have a common part
between all perspectives and a specific part, which is added
by the current perspective.

Perspectives should be composed of a View and a
Controller class. The controller class must have a "view" attribute
corresponding to its associated view class. The view must have
the following methods:
- getPanel() : Returns the widget which will be inserted
  in the central area of the main window
- getToolbarMenuUIDefinition() : Returns an XML UI definition
  (in GtkUIManager format) which will be merged in the
  GtkUIManager managing Netzob main toolbar
  and menu.
- getActionGroup() : Returns a Gtk.ActionGroup() holding
  actions using the the UI definition returned by the
  previous methods.

Toolbars and Menus of Netzob main window are now
managed by a GtkUIManager to allow easy merging of
toolbar items and menu items of the various
perspectives. Icons used by the toolbar items
are now retrieved from a GtkIconFactory (see
addNetzobIconsToDefaultFactory in NetzobWidgets) because
it is the only way to use custom icons with GtkUIManager.
This also allows icons to be moved from the ui/ directory to
the icons directory of static resources.

Former Grammar Inference and Simlulator perspectives as well as
the new vocabulary perspective made by Quentin Heyler were
ported to this new system.

NOTE: This commit was 'cherry-picked' in a new clean branch because
of issues in the branch history. When cherry-picking this commit it
introduced a modify/delete conflict on the files listed below.
They were added to the tree to ensure preserving modifications
Integrates changes made in the akoibon/new-ui (mainly, intrumentation of the symbol list toolbar).

These changes were ported to the new architecture introduced by the
previous commit (Introduce a perspective system in netzob main
window).
Adapt NetzobMainController to netzob core changes

This commit adapts NetzobMainController to changes in
command line arguments parsing (CommandLine class) and
dependencies checking (DepCheck class).
Verify newVocabularyView. Improve symbolList selection.
Improve NewVocabularyView
Improve properties notebook, create not complete callback with mention ++CODE HERE++ and instructions
Add a message table widget to display messages

Added a messages table widget which can display the messages of
a given symbol (see MessageTableView and MessageTableController).
The vocabulary perspective can contain as much messages tables
as wanted to display the messages of several symbols at once.
A new message table can be open using the "new window" button
of the symbol list toolbar and can be closed using the
close button on its upper right corner.
Add callback for [ new project, save project, switch project, sequence alignement, force partitioning
Remove lock of symbolList, connect action new
Rename switchProject to switchWorkspace in mainActions.glade and modify name of associated callback
Rename openProjectFromWorkspace in mainActions.glade
Added empty callbacks and connected them in glade

Empty callbacks were added for menu and toolbar items
of the main view and the vocabulary inference perspective.
On startup load the last loaded project from the current workspace + PEP8 fixes.

Loading the last project must consider the case were no last loaded project exists
which brings the possibility to show netzob main interface whithout any project loaded.
To do so, a small fix is introduced in the source code.

To resume this ccommit includes : that last loaded project is declared as the current one on startup,
a bug is fixed which prevented to start when no project was selected. Some minor PEP8 fixes are also
included.