test: exclusion unit tests
add unit tests for exclude function
exclude: factor out fn, use object to implement exclusion
Makefile: separate target for unit tests
update release history
version: update version