merge options from parent task

HI,

this change allows the options to "cascade" so that target options will inherit the task options (which extend the default opts)

here is an example of my config in my GF

```javascript
 protractor: {
            options: {
                keepAlive: true,
                args: {
                    configFile: '',
//                    seleniumServerJar: './selenium/selenium-server-standalone-2.37.0.jar',
//                    seleniumPort: 4444,
                    seleniumAddress: 'http://localhost:4444/wd/hub',
                    chromeDriver: './selenium/chromedriver',
    //                sauceUser: 'some person',
    //                sauceKey: 'some key',
                    specs: [
                        'test/sysadmin.scenario.js',
                        'test/testmoto.scenario.js',
                        'test/application.scenario.js'
                    ],
                    baseUrl: 'http://localhost:3000',
    //                baseUrl: 'https://a.site.com',
                    rootElement: 'body'
                }
            },
            ie8: {
                options: {
                    args: {
                        capabilities: {
                            'browserName': 'internet explorer'
                        }
                    }
                }
            },
            chrome: {
                options: {
                    args: {
                        capabilities: {
                            'browserName': 'chrome'
                        }
                    }
                }
            },
            firefox: {
                options: {
                    args: {
                        capabilities: {
                            'browserName': 'firefox'
                        }
                    }
                }
            },
            iphone: {
                options: {
                    args: {
                        capabilities: {
                            'browserName': 'iphone'
                        }
                    }
                }
            },
            android: {
                options: {
                    args: {
                        capabilities: {
                            'browserName': 'android'
                        }
                    }
                }
            }
        }
```

so this now allows me to run ```grunt protractor`` which will run all the different targets i want with shared settings or ```grunt protractor:chrome``` which would just run one of task individually.