Build a port -> payload lookup once per UDP scan instead of cloning the whole nmap payload BTreeMap into every scanned socket and scanning it linearly. Payload selection keeps the previous "last match wins" semantics.
Adds a socket-free micro-benchmark (benches/benchmark_helpers.rs) and lookup tests (tests/udp_payload_lookup.rs).
* Change batch_size and ulimit type from u16 and u64 to usize
* add error handling for overflow
* remove unnecessary conversions `clippy`
* fix missed
* chore: fix CI (unrelated)
* Add integration tests with timeout
* cargo fmt
* Fix travis command line
* Add extra margins for the timeout values
* Increase the time to scan
Output the time taken after each test