Fix plugin by using the .code property returned from compile()

Previously the result of compile() was used directly, which is an object
and not a string; esnext's api must have changed.

Also add a try/catch around the call to compile and call the done
callback with an error if one is thrown.

Removed the return statement in `return done(...` as it has no effect
AFAIK.
Change installation instructions in the readme to install from git

The module is not currently published on npm so the old instructions
dont work.