update the readme, nail the dynamic programming algorithm for limit~.

Both the required parts (infection, limited infection) are implemented
in this commit. The remaining thing is to find out the problems arising
out of not maintaining the contracts of TreeSet and natural ordering
correctly. Will look into that shortly. (There's a bug in code).