EventStream.take implemented, distributeFail changed

EventStream.distributeFail now has a boolean paremeter indicating
whether or not the fail is due to an Event.noMore, or an Event.noPass.

Fixed (another! fromArray is a GIANT pain in the butt) bug in
JBacon.fromArray which would cause the program to not finish executing
if the EventStream ends early (as seen with EventStream.take). This is
probably the single hackiest thing I've ever written… I just keep
waiting for it to blow up in my face in strange ways and having to hack
around it. This would be /so/ much easier without threads, but I'm
gonna stick to my guns!