NGI_pipeline working version

It is still under testing but it should be pretty stable: @mario please review it carefully
Add project level analysis is possible, you only need to write a function similar to this that checks for things to do.

About having this logic in piper_ngi I thought about it but preferred to not do it for the following reasons:
 - for this pull request my goal was to deliver a working prototype (a proof of concept) so I did not want to spend too much time  refactoring code
 - the engine needs to start the analysis that are requested, and ideally only the conductor should know what to do, ngi_piper has only to execute. For this reason is the conductor that uploads values to the db. ngi_piper right now (I might be wrong however) never interacts directly with the DB. The fact that piper_ngi.process_sample() needs as input a sample in charon format can be easily avoided as the only info that I sue from that object is coverage