removes extra VaadinSession.setCurrent() from PushHandler. (#14222)

The setCurrent call on VaadinSession is not needed. the one extra call
can be saved because service.findVaadinSession will already set it.
Added a comment like it is done for UI (service.findUI will also set the
UI).

Change-Id: Ic24d922554d1316aae310813ef5d00a0bbfd418a
Optimize CurrentInstance.set(UI) and .set(VaadinSession). (#14220)

This change reduces the amount of intermediate steps taken to initialize
the thread locals for a given ui or vaadin session.
It mainly takes advantage of reusing the old values from the map in set()
instead of creating new ones to put into the "old" map which is returned.

Change-Id: I4dbaff973f46e73f8f3a0c285b14c97603f2d5a4
Optimizes initial sizes of frequently used Collections. (#14223)

There are a few places in frequently used core classes which could
initialize collection classes with the correct (or slightly oversized)
length.
Maps are initialized with 2x the size due to its load factor.

Change-Id: I3aee5a60602937a8550ca5a200ec2a529ff36fe9
Adds a scrollbar to table column drop down (#14156).

Change-Id: I7ce7c61f842a09af1842a14fedec3412120944c7
Fix Tabsheet scrollbutton by css position in Chameleon theme (#12154)

Change-Id: Icd38631f8802fc86949fa29dd517f1aca0499c33
Allow customizing DeploymentConfiguration for test UIs (#14215)

Change-Id: I4a9db58e65b94ec0e46e849e6856817986bd750e
Remove csrfToken if disable-xsrf-protection is true (#14111)

If the server sends no token and the client value remains "init" then
it's not sent back to the server.

Change-Id: I74fc470c5c22d57c4a48eab3e4476ae4cc2dd242
Mention Date serialization in javadocs related to JavaScript (#14143)

Change-Id: I14d782843684f623a2cf671f14d0ab062829ebac
Improve error message if @RunLocally is committed (#14216)

Change-Id: Ic35b71a01b207ff87072d2e46f34f171ec581fe0
Update Atmosphere runtime to 2.1.2.vaadin3 (#13971)

Atmosphere 2.1.2.vaadin3 includes fix for:
https://github.com/Atmosphere/atmosphere/issues/1643

Change-Id: I67c07dc3b32ebb3b0eed634bf143bac9a7e5efe2
Fixes memory leak in VScrollTable (#14159)

Change-Id: I59596630b71f5a6b78c13bc5dbeaf7ef5dfaccf9
Add asserts checking for negative container sizes (#14232)

Change-Id: I5b6298be367e4fe820320a5e3fd6bf5aaa7e2047
Explain what to do if chrome.driver.path is needed but missing (#14231)

Change-Id: Ibd6f890136d62a3b19f8c60158b4aa1397454f7e
Omit BOM when parsing issue list for release notes

Change-Id: If241edbb79fecd3d99939a53f70c7c6d78f74e40
Fix web.xml element order issue (#14257)

In some servlet definitions async-supported was before init-param
Change-Id: I2d4886a0aa4c37bad3b0385e25b51e91d59a4c31
Fixed javadoc for Upload class (#14266)

Change-Id: Ib16d4b8922a139b37d551797ada163b6d6b5e720
Improves performance of VaadinService.requestEnd(). (#14218)

Doing two times session.accessSynchronously is unnecessary effort in
multiple aspects:
* The session will be locked twice.
* CurrentInstances are set twice.
* CurrentInstances are restored twice.
* VaadinSession being checked for being the current via
  VaadinService.verifyNoOtherSessionLocked(this);

When we leave requestEnd we unset all CurrentInstances. There is no need
to just restore them before doing so.
When we are in requestEnd, VaadinSession is set to "current" by
PushHandler.callWithUi() or VaadinService.handleRequest().
Also, the cleanupSession code does not need any of these thread locals,
so not having them set would also not hurt.
having an extra accessSynchronously call for just setting the duration
does not make a lot of sense. While it somehow wants to make the previous
accessSynchronously call to be counted completely into the duration it
invests an the same time that would have been left out additionally.

VaadinService removeClosedUIs is a cleanup which also locks and sets
CurrentInstances just to figure out that the UI it is checking is not
closing. This change moves that check out of ui.accessSynchronously.

In the end, the resulting code is a tiny bit less robust, however it
eliminates over 50% response time on trivial push request/responses.

Change-Id: If71d1dbbae5d1fd57d3d4e735c592fd263261a81
Remove obsolete TB2 tooltip test, update TB4 test (#14019)

Change-Id: I02b68886b888ee0a0d99b41138755f0ea6e2a53d
Simulate @RunLocally using eclipse-run-selected-test.properties (#14272)

Change-Id: I4eb9409629f64c17f39b1560062e763270f1f582
Export fetchRootConfig status so it can be read by TK (#14053)

Offline apps need to know when server errors are 500 or 400 in
order to switch appropriatelly to the offline mode.
Also we need exported the fetchRootConfig method and a
reliable way to get loaded apps.

Related with change I29635982514071e63221a9771d6729da14273ad3 [1]
see temporal workaround in TouchKitServlet
[1] https://dev.vaadin.com/review/#/c/4037/

Change-Id: I339ca697d035508a67d1eb24480cd12c4b9c6c0e