Dev/kwiver integration

Yeah, the docs are sparse mainly because the tests for them are also sparse (i.e., their behavior is not nailed down by the tests). Basically a process has a single "step" which is 1:1. If one port is pulled twice and another thrice, it doesn't matter if one is 2:1 and the other 3:1 or one 2:3 and the other 1:1. The pipeline takes all of the port frequencies and determines a common frequency for the entire pipeline then tells processes about it with `set_core_frequency` so that all vales are whole numbers which is also the stamp step value expected/generated on the port automatically. So in the end, they will all be whole numbers, but the ratio of them to each other is all that matters within a single process since the pipeline will figure out a global multiplier for all process the same anyways (modulo overflowing the `uint64_t` stamp counter which I hope isn't common).