make operational in both python 2.7 and 3.3

The main change here is with unicode handling (of course).

To make things simpler I've made the arbitrary choice to
assume that (cook-style) recipe files that want to use
extended characters sets are using uri encoding. This may
not always be true, but a) we'll see b) it should be.
package tidy up

add license, switch readme symlink, flake8