Multiple ports on command line, build test

- Can take in multiple ports on the command line, but only ever reads
  the first one.
- CMake option to build tests (which don't currently exist)