rework logviewer

as per http://trac.buildbot.net/ticket/2982 the old implementation was very slow for big logviewers, because a table with the whole data was loaded.

With this implementation, we play with scrolling position to find out which data to load, and load only necessary data
invisible parts of the log are replaced with padding div, which height is properly calculated

based on https://github.com/Hill30/NGScroller (MIT license)

ui.scroll is a good directive for infinite scrolling. Its inner working makes it not very adapted to viewing log:

This scroll directive uses ui.scroll base, but replace the whole DOM manipulation code
- Can directly scroll to arbitrary position
- Dont remove out-of-sight DOM. Eventually this will result in huge dom, so please make sure to use bind-once childs.
    This however as the advantage on only loading each line once.
- Support line count, and adapt scroll bar appropriately
- Can follow the end of stream, via updating the scroll-position attribute
- row height is fixed (or you cannot make geometric calculation to determine the positions of arbitrary elements)

This directive uses JQuery for DOM manipulation

Note that we loose filtering, which is to hard to make efficient right now.

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
Trac #3014 Add a migrator that reverts db version 40
 - This commit reintroduce db version 40, and the db/test code which used it
 - add N:N relationship tags/builders
 - autopep8
tardyp's comment: tags = types.List(of=types.String()) (Remove NoneOK)
Fix: benallard's comments, => change the default config builderConfig tags to [] instead of None
add master/buildbot/test/unit/test_db_migrate_versions_041_add_N_N_tagsbuilders.py
Set 'master' as default parameter to validate.sh
fix for 't' logs

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
fix forceIdentifier

warnings (20002) -> warnings__20002_ instead of warnings__2___2_

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
Merge pull request #1334 from delanne/AddTagsInDBForBuild

Add tags in db for build

See ticket:3014
Merge pull request #1352 from benallard/validate-master

Set 'master' as default revision for validate.sh
don't log BuildslaveTooOldError
test failure when buildslave does not have svn installed
make sure self.results is set for getResultSummary
add a test for bug 2974
additional improvements for logviewer

- Add buttons for log download, and full loading
- Greatly improve performance via profiling.
  - disabling ng-animate: 75%
  - minimize the use of $.height(): %15%
- Add loading indicator

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
Enhance github_buildbot.py

* Ensure that if secret is present, it is evaluated before any response is given
* Respond `pong` to the `ping` event
* Accept either `application/json` or `application/www--form-urlencoded` content types
Merge pull request #1354 from lukebakken/github-buildbot-tweaks

Enhance github_buildbot.py
more logviewer optimizations

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
Small adjustments to docker tutorial.

Add a note about issues with Docker itself, and rephrase the
don't-deploy-this-way warning slightly.

Fixes #2989.