[FIX] web: reintroduce $.bbq to keep compatibility with jquery.ba-bbq
[REM] web: jquery.ui.bootstrap
[IMP] web: update jquery.scrollTo to 1.4.14 version
[IMP] web: update jquery.autosize.js to 1.18.15 version
[IMP] web: update jquery.form to 3.51.0-2014.06.20 version
[IMP] web: update jquery-ui to 1.11.2 version
[FIX] web: override jquery-ui ui-state-error css
[FIX] web: fix all the (assets) links!
[FIX] survey: only load js scripts when needed

This is done with the help of website.if_dom_contains and 1) js_surveyform
class for survey.js 2) a new fake class js_surveyresult for survey_result.js
This fix also allow to avoid spurious logs on runbot during phantomjs tests.
[FIX] website_event_sale: tour: complete form after `order now` step

The form was not correctly completed and, for some reasons, phantomjs did
not complain. However, it was not possible to run the test from the browser.

Also, reword all the steps title for a better understanding of the test.
[FIX] tour.js: introduce common properties selector

Since jquery 1.9, attr selector only matches attributes (the behavior was not
consistent before, sometimes it returned the properties [0]) and tour.js was
relying on those inconsistencies. This commit introduce common properties
selector to allow matching properties during a tour.

[0] http://jquery.com/upgrade-guide/1.9/#attr-versus-prop-
[FIX] tour.js: remove synchro between selected property and attribute

This line was previously used to allow attribute selectors to match the
`selected` property, by changing the attribute each time the property
was changed. Now it doesn't make sense since rev c611846 introduced
property selectors + it seems to mess with phantomjs, as the test does
not pass in phantomjs environment but passes ok in a "real" webkit browser.
[FIX] website_sale: shop_buy_product: use properties selector
[FIX] website_event_sale: event_buy_tickets: use properties selector
[FIX] website_event_sale: test_ui: also run the test as admin
[FIX] web: openerpframework: replaceElement on multiple roots nodeset

jquery's `replaceWith` function behaves differently between 1.8 and 1.9.
This function is used by `renderElement` of the Odoo widget API and, when
called on a template with multiple root nodes, will fail to replace the
whole original nodeset by the new but instead will replace every node
by the new nodeset.

Sample:
1) Suppose a DOM containing
    <div>1</div>
    <div>2</div>
and a jquery nodeset [<div>1</div>, <div>2</div>] referring to the
previous DOM part in a var named $oldel.;
2) suppose another jquery nodeset [<div>3</div>, <div>4</div>] in $el;

$oldel.replaceWith($el) will result in
"3434" in jquery 1.9.1
"34" in jquery 1.8.3

This issue particulary concerns us when the dom of a widget is not wrapped
into single tag and when re-calling renderElement (triggering replaceElement).

The fix is to wrap the element to be replaced ($oldel in the example) behind
a div before calling replaceWith.
[IMP] web: use bootstrap's notebook, rewrite process_notebook

Introduction of a specialized InvisibilityChanger for the notebook. It
allows to handle more elegantly the issues of the notebook during
page execution: modifiers hiding the active tab that must now
active its sibling.

Process_notebook only handle the processing of the page while
NotebookInvisibilityChanger only handle the behavior of the notebook
during the page execution.

- readable code (more readable, at least)
- correct handle of autofocus
- rendering of the whole notebook in one call to qweb's render
- one invisibility changer bound by header/content
- no custom css, only legacy bootstrap