Terminate running transaction on frame close.

Send DELETE request to server to terminate the transaction.
Rename frame × button from 'Remove' to 'Close'.
Remove commented code.
Check if promise exists before trying to access transaction.
Fixed argument handling in optional match
Reintroduce tracking of active transactions on master side

to fix an issue where locks could get stuck. The problem was that a
rollback on the slave due to lock timeout would go over to the master and
end the lock session too early, before the last acquiring thread might
have finished its waiting. So when the pending lock acquisition would
complete the lock would be registered and then never released since the
lock client had already been closed.

With this commit, when the slave rolls back, the lock session on the master will be
closed if there is no thread awaiting a lock acquisition. If there is a
thread awaiting a lock acquisition the session will just be marked as
"please finish asap" and the session reaper will close it as soon as the
lock acquisition has completed.

This exact behaviour existed in 2.1 and in previous versions, but was
removed by mistake in 2.2 due to suboptimal understanding of the scenario
described above.
Merge pull request #2888 from tinwelint/2.2-lock-stuck-issue

Reintroduce tracking of active transactions on master side
Merge pull request #2894 from pontusmelke/argumentids-optional-match

Fixed argument handling in optional match
Merge pull request #2869 from oskarhane/tx_termination

Browser: Tx termination
Forbid bound relationships from being used in shortestPath pattern parts
Add one more test for relationship arguments
Fix maximize in Firefox
Fix two issues with the projection inliner

See test cases for more details.

Signed-off-by: Jakub Wieczorek <jakub@neotechnology.com>
Use node/rel by ID leaf plans for `id(n) IN {param}`
Merge pull request #2901 from pontusmelke/argumentids-followup

Argumentids followup
Merge pull request #2903 from wallin/fix_firefox_maximize

Fix maximize in Firefox
Hack to prevent SVG wrapped in a table-row container to grow indefinitely
Add tests about cluster startup

- master/slaves should always join a cluster when the database directory is empty
- slaves should always join a cluster when the database directory contains the store
  files but no logical log files
- a database directory with store files but no logical log files can be used
  to seed a cluster
Fix selection of relationship
Merge pull request #2911 from wallin/fix_firefox_maximize

Prevent SVG wrapped in a table-row container to grow indefinitely