Better statute parsing

Improve statute parsing to assign IUCR codes, descriptions and
category more Disposition and Conviction records.

Strip out the part fo the statute that
identifies the crime as attempted, conspiracy or solicitation.

Improve the regexes used for parsing statues and
make a cleaner API for parsing the statute that tries to do
less in each function.

Make a lookup table to correct badly formed statutes in cases
where trying to fix the regex is too difficult or impossible.

Make use of the functionality that Brian
added to python-iucr that tries to look up the statute with
varying numbers of subsection bits.