basic nmap libs files
supporting non-blocking execution and basic event

This version:
- fixes a untrapped exception when reading NoneType objects from nmap's stdout
- fixes a leak in the queue
- supports execution in the background
- basic event (ETC and scan progress)

Todo:
- add event manager add_event/del_event methods with user callbacks
- add events: on_host_finished
- manage task start and end attributes
- implement exceptions
- add unit tests
code clean-up and lot of bug fixes

FIXED:
- added started ended events
- removed no_wait()
- added basic exception management
- fixed-up data leaks
- simplified code interface

TODO:
- add docstrings comments
- create unittests
- clean-up init constructor
- add event manager add_event/del_event methods with user callbacks
- build up nmap_report class
added test files
FIXED:
- basic full parsing of nmap report
- create unittests for nmap report
- added new sample reports

TODO:
- add support for parsing os version and banner of port
- parse out nmap run statistics
- add support for 'resume' capability
- add event-like analysis and partial report handling
- review threading of nmap process
- add docstrings comments
- create unittests for nmap process
- clean-up init constructor
- add event manager add_event/del_event methods with user callbacks
added support for stderr, parsing out of nmap run stats and small bug fixes

FIXED:
- added thread for stderr
- fixed bug with process state always returning "CANCELLED"
- fixed bug with callback function throwing out lines all around
- renamed NmapReport to NmapParser. NmapReport will handle import/export/convert/diff operations and sets of parsed reports
- parse out nmap run statistics

TODO:
- create NmapReport class doing: Parsed report diffs, exports, imports, convert, csv out, ...
- add support for parsing os version and banner of port
- add support for 'resume' capability
- add event-like analysis and partial report handling
- review thread management for NmapProcess
FIXED:
- first packaging for easy integration in NiNaval

TODO:
- create NmapReport class doing: Parsed report diffs, exports, imports, convert, csv out, ...
- add support for parsing os version and banner of port
- add support for 'resume' capability
- add event-like analysis and partial report handling
- review thread management for NmapProcess
Merge branch 'packaging'
pre-merge
Re-factory for Mikritik. Candidate for merge to master

FIXED:
- Modular code for parser
- created common.py
- added class NmapService
- Basic use of property decorator
- unittest lib failing to include new structure

TODO:
- create NmapReport class doing: Parsed report diffs, exports, imports, convert, csv out, ...
- add support for parsing os version and banner of port
- add support for 'resume' capability
- add event-like analysis and partial report handling
- review thread management for NmapProcess
Fine-tuning of refactory and bugfixes

FIXED:
- Bug Fixes and improvement after refactory
- added scaninfo parsing
- corrected unused variables and wrong unittests
- parse() method reviewed to call "independent" XML bloc parsers
- Internal structure of parsed data sticks very close to XML report

TODO:
- add support for parsing os version and banner of port
- expose a clear API for NmapHost, NmapService and NmapParser
- create NmapReport class doing: Parsed report diffs, exports, imports, convert, csv out, ...
- add support for 'resume' capability
- add event-like analysis and partial report handling
- review thread management for NmapProcess
Add comparaison fct (basic for a first try)
	modified:   libnmap/common.py
basic comparaison seems to work
add diff fct
added test
UNTESTED added service compare fct not working yet
Added __hash__ to NmapServices this allow comparaison when used in set...
	modified:   common.py
	modified:   test/report_test.py
A few pep8 correction
	modified:   common.py
	modified:   test/report_test.py
commit pre-branch for elementree
draft class method for parser