Allow custom primitive parsers

Following your suggestion on #30, this is an implementation of `Parsimmon.custom` that allows creating primitive parsers.
hm, maybe making the user curry it would be better? like for example

``` js
Parser.custom(function(success, failure) {
  return function(stream, i) {
    ...
  };
});
```

That way this could just be `return Parser(parsingFunction(makeSuccess, makeFailure))`