feat(runner): add a callback for when the tests are done

Add an onCleanUp callback to be able to hook into when all the tests
have been run.

Conflicts:
	referenceConf.js
refactor(cli): combine help and no arguments passed check

Only need one if statement when they both do the same thing
chore(runner): triple equals and semicolons
fix(tests): fix adding custom locators test to work on firefox
fix(pageload): add a wait during protractor.get() to solve unload issues

Some systems would not wait for the browser unload event to finish
before beginning the asynchronous script execution.

Closes #406. Closes #85.
docs(api.md): fixed typo and updated incorrect info

In Locator Strategies:
- Fixed typo

In WebElements:
- Corrected what 'findElements' should return
- Removed mention of isElementPresent

Closes #443
docs(api): regenerate docs api links
feat(element): allow chaining of element finders with element().element()...

Chaining calls to element will now build a scoped element finder. No webdriver
functions will be called until a method (such as getText) is called on the
final element. Example:

    var elem = element(by.id('outer')).element(by.css('inner'));
    browser.get('myPage');
    elem.click();

Closes #340.
docs(element): add in-code documentation for methods on element
docs(mocha): update mocha readme since chai should be installed locally

See #446
chore(release): version bump and changelog for 0.17.0