#371 - Add can_administer to JSON.

Indicates which pipelines user has administration access to.
#371 - can_administer, settings_path to pipeline.

can_administer and settings_path in the JSON were at pipeline instance
level. But, ability to administer and the path for the settings of the
pipeline are not for the instance. They're for the whole pipeline. So,
moving that out.
#371 - Add support for pipeline lock data.

Provides two new bits of information:

1. is_locked: Is the pipeline currently locked?

2. unlock operation: If it is locked, and can be unlocked by
   the user, then an unlock operation will be present.
#749 improve exception logging with stacktraces
#000 - Fix for null message in health state.

Especially in cases of plugins, if the return value is null, then
ServerHealthState constructor fails.
Post-commit hook for mercurial

Follows along the same line as git. Moved GitUrlMatchers to be generic enough to be used by mercurial as well.
#000 - Missed writing test.
Merge branch 'master' of https://github.com/ruckc/gocd into ruckc-master
#749 - Use debug logs for full exceptions.

Looked at hierarchy of calls, and changed error level logs to show only a message, but debug level logs shows the full
stack trace. Made this change in places which are on timers (somewhere up the stack), or are dependent on the number of
pipelines/jobs/properties in the config.
Merge pull request #794 from arvindsv/ruckc-master_with_debug_logs_in_high_freq_access_code

Better exception logs with debug logs in frequently accessed code
Merge pull request #767 from arvindsv/fix_health_state_null

#000 - Fix for null message in health state.
Merge pull request #781 from sachinsudheendra/mercurial_post_commit_hook

Post-commit hook for mercurial
Merge pull request #663 from arvindsv/fix_dashboard_json_can_administer_and_locking

#371 - Fix dashboard JSON - can administer and locking
#743 - List toggles UI.

The UI is really bad. This is just hooking up everything, so that it can
be improved soon.

Want to try and push more towards the Javascript, rather than writing
untestable HTML in ERB. Introduced handlebars.js for templating: Makes
it so much easier, than hand binding values to DOM.