Merge pull request #20 from adam-miller/master

Removing first run ui checks
disable google analytics by setting a breakpoint in www.google-analytics.com/analytics.js and replacing the content of that script when the breakpoint is hit
Merge pull request #21 from nlevitt/disable-google-analytics

disable google analytics by setting a breakpoint in www.google-analytics...
Bunch of improvements, most importantly a default fallback behavior script which scrolls to the bottom of the page, and rearchitecting some stuff so that the behavior script can have some say on when it's finished with the page. Also some doc comments.
change magic first line of behavior js files to a commented-out json blob, which should include the fields 'url_regex' and 'request_idle_timeout_sec'; behavior.is_finished() incorporates the custom idle timeout into its check; also rename variables in behavior scripts with umbra/UMBRA_ prefix to sort of namespace them; and add "finished" logic to facebook and vimeo behaviors (flickr needs work to support it)
UmbraWorker.send_to_chrome() - central place to send message to chrome via websocket
clear UmbraWorker.self._behavior when finished with a page (after the first page, nothing was getting behaviors); bump hard timeout to 20 minutes
improve facebook behavior: when we expect a "close" button to appear, wait for it before moving on to other actions; and when we discover a missed click target above, scroll back up to click on it
"wasThrown" is necessarily always included in the result message from chrome for Runtime.evaluate
Merge pull request #22 from nlevitt/master

whole bunch of changes (already deployed on QA)
only websocket-client-py3==0.13.1 works right with python3 at the moment, see https://github.com/liris/websocket-client/issues/84
configurable max number of instances of chrome simultaneously browsing pages (default=3); close and reopen connection to amqp every 15 minutes (consumer only); increase default browser wait to 60 sec
refactor umbra.py into controller.py and browser.py, improve class names
clean shutdown without draining entire amqp queue (only consume urls from amqp when browser activity isn't saturated)
oops, check in browser.py
improve helper utilities
not sure why /bin/ et al were in .gitignore... replace with a couple of useful things
remove unused param to __init__, avoid exception when on_request callback not provided
organize imports, tweak command line args
new helper utility to browse urls provided as command line args