Use itertools.groupby to group nodes by token instead.
Merge remote-tracking branch 'origin/master' into group-nodes-with-itertools

Conflicts:
	src/experimental/securityindexing/adapters.py
Register the adapter used in patches such that it can be overriden
for producing timings whilst installed on a site.
Re-worked benchmarks timings to generate JSON.
Now has an API that's intended to allow an adapter to be registered
wer overrides the main default one, to provide timings for a running
site (as apposed to just in benchmark tests).
Set default benchmark-results file to use JSON.
Generate graphs from the JSON data produced by benchmarks.Timings ctxmanager/decorator.
Remove print stmts.
Use sample JSON file and remove unused import.
Move benchmark results file into bm directory.
Add README.
Fix sample JSON file.
Add changelog file.
Add installtion instructions to README. Add Hacking guide.
Register the adapter used in patches such that it can be overriden
for producing timings whilst installed on a site.
Re-worked benchmarks timings to generate JSON.
Now has an API that's intended to allow an adapter to be registered
wer overrides the main default one, to provide timings for a running
site (as apposed to just in benchmark tests).
Set default benchmark-results file to use JSON.
Generate graphs from the JSON data produced by benchmarks.Timings ctxmanager/decorator.
Add README.
Merge branch 'plot-benchmark-results' of https://github.com/ploneintranet/experimental.securityindexing into plot-benchmark-results
Do not ignore ipython files
Added IPython notebook example.