Add New spooky.exec("code") method.

This adds a new method to the Spooky API named `exec()`. This method takes in a string of JavaScript and executes it in the CasperJS/PhantomJS environment. Additionally it stops waiting for stdin if the stdio transport is being used.

With this particular method it becomes really easy to load a CasperJS file (using `fs.readFileSync`, or some such) and pass it to Spooky/Casper for execution.

An example of how it would be used:

```javascript
var spooky = new Spooky({
    casper: {
        logLevel: 'debug',
        verbose: true
    }
}, function (err) {
    if (err) {
        e = new Error('Failed to initialize SpookyJS');
        e.details = err;
        throw e;
    }

    spooky.on('error', function (e) {
        console.error(e);
    });

    spooky.on('log', function (log) {
        if (log.space === 'remote') {
            console.log(log.message.replace(/ \- .*/, ''));
        }
    });

    var file = fs.readFileSync("casper.js").toString();
    spooky.exec(file, args);
});
```

I also added in a new option to pass to Spooky so that you can do this even more simply, like so:

```javascript
var spooky = new Spooky({
    exec: {
        file: "casper.js",
        options: args
    },
    casper: {
        logLevel: 'debug',
        verbose: true
    }
});

spooky.on('error', function (e) {
    console.error(e);
});

spooky.on('log', function (log) {
    if (log.space === 'remote') {
        console.log(log.message.replace(/ \- .*/, ''));
    }
});
```

This makes it so that you can use Spooky as a purely event-driven tool for handling Casper.