Fix SYWEB-128 : Auto-scroll broken if not exactly at bottom of list.

Added a small 10px buffer so if the list isn't quite at the bottom it
still actually scrolls.
Implement SYWEB-58: Clicking a notification now takes you to that room.
SYWEB-98: Add a 'Redact' button to the event info modal dialog.

I think this is better than overriding the right-click contextual menu.
Currently clicking this button does nothing.
SYWEB-98: Add redactEvent matrix API call.
SYWEB-98: Handle incoming m.room.redaction events.

UI for redactions is now complete.
oops - fix css on desktop
Remove redundant (and incorrect) presence pagination fetching code
Construct a source-specific 'SourcePaginationConfig' to pass into get_pagination_rows; meaning each source doesn't have to care about its own name any more
Fix an off-by-one bug in presence event stream pagination; this might be responsible for any number of bug reports
SYWEB-127: Open event info modal dialog when the bubble is clicked.

This allows images to be clicked by clicking on the edge with the bubble.
This is important since Redactions are only visible on the event info
screen.
Use floating-point rather than integer division to handle timeouts so that non-zero but sub-second waits don't collapse to zero
SYWEB-48: Better regex for binging on usernames.

This uses /\blocalpart\b|\bdisplayname\b/i which is overall a lot
better than before. This specifically gets @localpart references
which the bug was originally for.
SYWEB-112: Use the right user ID when determining invites for display on the recents list.
Fix pep8 warnings
Merge branch 'develop' into request_logging

Conflicts:
	synapse/config/logger.py