Annotate all the 'TODO' marks as relating to either the specification itself or the documentation thereof
remove "red", "blue" and "green" server_name mappings
Nuke the entire 'Typing Notifications' spec section given as they don't exist yet in the implementation
s/m.room.redacted/m.room.redaction/
Move documented but-unimplemented 'presence idle times' into a new document to contain such features
SPEC-25: Add details on how to prune redacted events.

SPEC-25 #comment I've added the details of what the server should do on
receipt of a redaction event. In reality it can do whatever it wants,
and its probably a reasonable implementation to flag it up to a server
admin for verification before actually redacting an event.
Continue moving content out of docs/model/presence into the main spec; delete model docs that are duplicated
Define the client and server APIs for Presence
Added a TODO-doc marker about the presence timing system
Make instructions synctl gives for generateing a config file actuall generate a config file. Also, make synctil run synapse correctly by invoking a module such that the path is correct to pull in other bits from the working directory rather than requiring them to be on the PYTHONPATH (which would lead to people being very confused when they edit source in the working directory and their changes do not take effect).
Re-apply a0b1b34c71e46304f7024f0570db92f4577303b5 to master (fixing synctl)
Update README setup instructions to be correct. Make synapse spit out explanatory note when generating config to tell people to look at it and customise it.
Merge remote-tracking branch 'origin/master' into develop
Trivial formatting fixes for README.
Merge branch 'master' into develop
Split PlainHttpClient into separate clients for talking to Identity servers and talking to Capatcha servers
Fix ncorrect ports in documentation and add notes on how generate-config also generates certs bound to whatever hostname you give with --generate-config.

SYN-87 #resolved
Merge branch 'master' into develop
All room state is currently shared.
Add a keyword argument to get_json to avoid retrying on DNS failures. Rather than passing MatrixHttpClient.RETRY_DNS_LOOKUP_FAILURES as a fake query string parameter