Change default MATCH/MISMATCH scores for Needleman&Wunsch.

Scores are now symetric (Match is +5, mismatch is -5).

Change-Id: Ie7ebe1190b131076f8d860a608c16e4ed4e09cc5

Conflicts:
	lib/includes/commonLib.h
Small useless quality changes.

Change-Id: Id10945da33ccaaf2ad26c9601ff4e89068235ca4
Replace re module by regex module to support more than 100 fields (groups).

This modification includes the introduction of a new PIPY dependency (regex) registered
in the setup.py file and its usage in the AbstractMessage class.

Change-Id: I5602fb9037747d136d4295c550f47f657a8c266f
Prevent duplicate ApplicativeData in the Session.

The method addApplicativeData verifies no existing applicative data contains
the same value and type in the current session.

Change-Id: Ie07968679a69099809a57ad2dfa7c867f7e6c8b4
Add many more mutations to the String mutations used in search engine.

Both UTF-8 and UTF-16 are now considered when searching for a specific string value. This value
can be in uppercase or in lowercase.

Change-Id: I916c7de4d85073653cd9f274deee1ca7d23d646c

Conflicts:
	src/netzob/Inference/Vocabulary/Searcher.py
Major modifications to support better applicative data clustering.

Change-Id: I370de8edfe9740b8ea67d88c40735e5201e536b3
Specify the required version for the MINEpy dependency in setup.py.

Change-Id: I8ef197523f35e91c951eebe39f5184a450831c89
Minor modifications to increase code lisibility.

Change-Id: Icc264fa6fa1bb2e0ca989c7dde0c90afda9a63d1
Major modifications of the computation of regexes out of messages.

Semantic tags are considered to suport better field precision.

Change-Id: Ic5e5099f806f2b154516b7675bbe56dfa3265876
Allows to specify when should we recompute alignment in the UPGMA process.

A threshold (recomputeMatricThreshold) can be specified to decide when
the effective alignement and so similairty scores should be recomputed before merging.

Change-Id: I807bb128b5cef10a1ea4408930d61b37034c6caa
Add default behavior for simili-abstract methods used for clustering algorithms.

Change-Id: I1c832f585707a38277789ed746c38bc6e8d8096c
Update the getCells() method of Fields to reduce its complexity (and execution time) and returns a specific netzob list.

Method getCells() was recomputing alignments for every leaf fields. This is now changed and only one alignment per message is required
to returns the value of specified fields.

This commit also introduces the Class MessageTable which inherits from python built-in list. Its __repr__ method
is modified in order to show aligned messages in console and terminals.

Change-Id: I5885cdc6b5ea720655cf83beacc4b2822fd4531d
Returns None or the attached smeantic tags for every half-bytes of the current message.

Change-Id: I49365c0feacd15c892a2169f1f574b822921624c
Add two tests to verify semantic alignment and deactivate oldschool tests.

Change-Id: I25b040a532762990746f03e4057e16b7fa51337c