Added CLI

Refactored the project into several artifacts.
Added a CLI for counting and generating combinations and permutations.