large refactoring. removed filter_program in favor of a simpler interface. added unique_ptr wrappers for pcap_t and bpf_program. Added more tests