Added the ability to stop a feature if a timeout exceeded.

After updating to xcode 5 with iOS 7 instruments / automation it appears to have become a little unstable.
Sometimes a feature will launch but nothing will happen, instruments / simulator just hangs indefinitely.

This patch allows users to configure via config.yaml:
 - feature.timeout, which will kill a running feature if it exceeds this time. Defaults to 0.
 - feature.retry_attempts, number of times to retry a failing feature before giving up and moving on. Defaults to 1.
Small code cleanup to make it easier to read.
Fixed crash within config.rb if 'feature' key was not specified within config.yaml.
Updated log messages to inform user when a feature has completed or timed out.
Merge pull request #49 from shaune/master

Add feature retry attempts to work around xcode 5 stability issues
Added the ability to stop a feature if a timeout exceeded.

After updating to xcode 5 with iOS 7 instruments / automation it appears to have become a little unstable.
Sometimes a feature will launch but nothing will happen, instruments / simulator just hangs indefinitely.

This patch allows users to configure via config.yaml:
 - feature.timeout, which will kill a running feature if it exceeds this time. Defaults to 0.
 - feature.retry_attempts, number of times to retry a failing feature before giving up and moving on. Defaults to 1.
Small code cleanup to make it easier to read.
Fixed crash within config.rb if 'feature' key was not specified within config.yaml.
Updated log messages to inform user when a feature has completed or timed out.
added support for command line arguments to run the app with additional options
removed obsolete set_simulator_device method
updated config.yml template
Merge remote-tracking branch 'upstream/master'

Conflicts:
	lib/zucchini/feature.rb