find code / doc start with regex

This leaves the behaviour of Pweave unchanged, but restructures the
PWebReader class to allow extension to arbitrary patterns to recognise
the start of code and doc chunks.

For example, in [knitr](http://yihui.name/knitr/patterns) all patterns
are stored in a single place. I believe this is easier to understand.

It is still possible to write an arbitrary PWebReader where the chunk
start recognition is defined in  the `self.codestart` and
`self.docstart` methods.

This change required being more careful with " and ' in code options.
These are stripped from any strings if they are used to quote the entire
string.