kill the CPS strategy in favor of returning objects

TODO: benchmark this - the tradeoff is less stack space but more object
creation.

also TODO: get the furthestFailure stuff to work.
use makeSuccess and makeFailure helper constructors
implement furthest-backtrack error messages

this is a port of #3.
bugfix: incorporate the last result of many()

...into the backtrack trace.
rm the old furthestFailure* HOFs
refactor: use {furthest,expected} keys

instead of attaching failure objects.
Merge branch 'master' into refactor.kill-cps

Conflicts:
	test/parsimmon.test.js
don't carry unneeded duplicate information on failures
Merge pull request #4 from jayferd/refactor.kill-cps

kill the CPS strategy in favor of returning objects