Bail out early if we're not anonymizing a table

I tend to prefer to return fast instead of have large indented blocks.
So, for example:

    if not happy:
        return a

Is preferred to:

    if happy:
        ...
        return b

    else:
        return a

Mostly because it reduces the level of indent in the method and
therefore makes it easier to read.
Log anonymization config as comments in sql dump output

Also fix a bug with the field index being off by one.
More whitespace in output insert lines

This makes reading the output a little bit easier and shouldn't
slow down the loading of the dump.
Move dump_stats to the end of the class

This way it isn't in the middle of the execution flow.
Handle randomization of columns as things other than strings

Previously we assumed that every string value could be randomized
the same way. This isn't true. For example, uuids need to stay in
uuid format. Therefore, I've started implementing type specific
randomizations, with uuids being the first.
Markdown requires at least four spaces for code blocks

Otherwise they render horribly.
Merge pull request #16 from mikalstill/user-001-fixes

Fixes to make user 001 work better
pep8 fixes
Adding simple CSV parser, inc tests, & fixing bugs

As the "batteries included" csv parser doesn't handle embedded
json and other rareties very nicely, use a simple CSV parser
instead.
Merge pull request #17 from mrda/csv-parsing

Adding Simple CSV parsing & minor fixes
Fixing off-by-one error and logging improvements
Merge pull request #18 from mrda/csv-parsing

Fixing off-by-one error and logging improvements
Adding randomisation for IP addresses and datetime
Small pep8 fix
Start thinking about a sqlparse fuzzer.

This is another alternative to regexps and sqlalchemy... At the
moment this code is just a plaything to see if it works at all,
but at the moment it can read all of user 001, detect the create
statements, and then dump it out with a zero sized diff. This
gives me hope.
Parse create statements.

sqlparse falls apart when presented with DDL, which is a shame.
Instead I ended up having to handle create statements with good old
fashioned regexps.
Map columns to their data types.

This should now be ready to plug a real version of attributes into,
as well as implementing the actual anonymization.
Merge pull request #20 from mikalstill/sqlparser

Implement a prototype fuzzer using sqlparse
Improving IP Address anonymisation + tests
Trivial documentation fix