string or object for config

This allows you to do things like this:

``` javascript
var jest = require('jest-cli'),
    path = require('path'),
    root = path.join(__dirname, '../../');

var c = {
    rootDir: root,
    scriptPreprocessor: "./spec/support/preprocessor.js",
    unmockedModulePathPatterns: [
        "node_modules/react"
    ],
    testDirectoryName: "spec",
    testPathIgnorePatterns: [
        "node_modules",
        "spec/support"
    ],
    moduleFileExtensions: [
        "js",
        "json",
        "react"
    ]
};

jest.runCLI({
    config: c
}, root, function () {
    console.log('done');
});

```

The objective of this change is to make it easier to write a gulp plugin without having to reimplement the work that the CLI code does.
Let's use `typeof` instead of `instanceof` to save ourselves from any potential weird cross-realm issues. I can't think of anything off the top of my head, but debugging such an issue could prove to be pretty tricky in the future if ever it were to arise.