Merge branch '9/jsweb' into nine
Add a 'masters' resource type, mostly stubbed out for now
add link to master data, setMasterState, bugfix, docs

* master data types now have a link field
* setMasterState now only takes one argument (the state)
* Fix the connector to support multiple resource type modules.
* docs for setMasterState
* more docs on how to write data API parts
Add explorability from the root of the REST API
Merge branch 'master' into nine

* master: (80 commits)
  Force defaultBranch if repoURL is set.
  tabs to spaces
  upgrade to use the new getProcessOutput expectations framework
  fix pyflakes
  Doc fixes
  try: For mercurial, create a patch containing all outgoing changesets on the current branch. (fixes #865, #180)
  Mercurial:  Remove any added files before running update --clean
  Mercurial: Support applying a patch for Try builds
  Add some test to doc and release-notes about HTPasswdAprAuth.
  Fix master-side SVN step.
  skip test_test_util_gpo on py27+tw900
  Updated a partly wrong docstring in hgpoller
  Moved os.environment change to setUp/tearDown in hgpoller tests
  Move libaprutil password checking to an new subclass
  Skip instead of hide md5 and sha tests if libaprutil is missing.
  Use ctypes.util.find_library to resolve library name.
  Remove old GetProcessOutputMixin.
  Fix gitpoller tests of environment passing.
  Fix p4 poller tests to use new gpo mixin.
  Fix svn poller tests to use new gpo mixin.
  ...

Conflicts:
	master/buildbot/test/unit/test_changes_gitpoller.py
	master/buildbot/test/unit/test_changes_p4poller.py
	master/buildbot/test/unit/test_changes_svnpoller.py
	master/docs/manual/cfg-global.rst

Semantic Conflicts:
    master/buildbot/changes/hgpoller.py + tests updated to use data API
fix pyflakes
buildsets db connector: submitted_at, interface tests

 * add an explicit submitted_at argument to addBuildset.
 * move buildset test to be interface tests, so we know fakedb is keeping up
better docs, more thorough tests for c['www'] defaults
Changes are displayed in browser. Plain javascript is converted into dojo modules.
Add baseurl from Python, use it from websocket.js
Ignore trailing slashes on API URLs
www_ui: JS router based on dijit's widget and bootstrap

No page is actually implemented yet, only the infastructure is there

Need to have dojo/dijit/dgrid/put-selector installed in public_html's static/js/external

Signed-off-by: Pierre Tardy <tardyp@gmail.com>
www_haml: allow use of haml for templating

Haml is a nice and simple templating langage, that avoids to write tons of
markups, and has basic facility for loops, conditionnals, and macroing.

Templates are fetched from the static server, compiled into a javascript
function, cached, and executed on demand, with widget as the context.

widgets can implement loadMoreContext() in order to load more context
from the json api

Signed-off-by: Pierre Tardy <tardyp@gmail.com>
www_ui: cosmetic improvements on the base fw.

- added a css based loading animation
- make ui.html pass flymake
- added icons

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
www documentation

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
www_ui: first stub implementation of some widgets

provided as an example on how this is supposed to work

Code should eventually be replaced by using the api

Signed-off-by: Pierre Tardy <tardyp@gmail.com>
fix mock version detection
Use distutils.version to compare mock versions

(thanks tomprince)
Merge branch 'master' into nine

Conflicts:
	master/buildbot/changes/gitpoller.py
	master/buildbot/schedulers/base.py
	master/buildbot/test/fake/fakemaster.py
	master/buildbot/test/unit/test_changes_gitpoller.py
	master/buildbot/test/util/changesource.py
fix pyflakes