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.
yeah...I left out the null check as it's already being done on line 141. However on reflection, if for some reason the check on line 141 got removed, the `typeof null === 'object'` bug would get introduced. While an additional null check might be redundant at the moment, perhaps it also adds a little robustness.

Let me know how I should proceed :hamster: