Graceful fallback if frame function name isn't available

This is relevant for instance if an error is raised outside a function,
in which case the regular node.js stacktrace would list it as:
Object.<anonymous>

The logic have been lifted from:
https://github.com/joyent/node/blob/83261e7/deps/v8/src/messages.js#L948
Fix bug in in_app logic

It was reversed, so node-internals and node_modules would get in_app == true
Set culprit based on top-most in_app frame
Merge pull request #37 from watson/kwargs-fixes

Bugfixes and improvements to the json sent to the API