Partially fixed tcpdumping (option -M)

Partial fix for issue #68 (resubmission of pull request #101, #109 and #125 with requested changes)

* added checks to ensure provided directory for dump files is valid and correctly formatted, defaults to CWD if not provided
* fixed possible crash in case dump thread is canceled and cleanup function is called twice
* fixed possible crash in case dump thread is canceled and remove_flow() is called before dump thread actually terminated
* fixed that uninit_flow() invalidates all existing pointers to flows following the one in question

This fix does not consider the multiple interfaces problem as described in issue #68!