Logic for mapcat and ParallelBuffer

@patrickwmcgee I've been testing the ClojurePlatform against the api_test.clj and almost all of them pass!  To test I've been copying over the tests from api_test.clj to my own test file...obviously your macro will be much better than this hacked approach.

Also, I know you have logic for mapcat as well, which I'm happy to use, I just wanted to get this stuff wired up first.


We definitely should extract pieces of logic from file, I've just kept everything in one file since it was simpler, but it is now becoming hard to read.  But instead of just moving this one piece of logic, I'd like to do an entire refactor of the ClojurePlatform since it can probably be broken up into multiple files.  I would rather not hold up this PR for that change, and instead I'd like to handle that refactor in a new PR, since before we refactor the code we should probably get it passing all of the tests.

I think it'd be great to unit test these operations.  The generative testing sounds interesting, but I'm not taken by it, but I've never tried it before.  And similar to as stated before, I don't think we should add the unit tests yet, since the design may change dramatically as we fix the code to pass more and more tests, and neither of us want to spend time writing tests that we will have to re-write.  That's why I like the api_tests for the time being -- they should never break :)