Call parser.error instead of raising ArgumentError
Disable some debug output
Three new rules: div, email, and erasenumbers

div: Checks divisibility by a number
email: Checks if field looks like an email address (basic regex)
erasenumbers: Replaces all runs of numbers in strings by "<num>"
Use the CSV module for parsing input

Allows for fields containing field separators or line separators
Add a few extra tuple functions
Only look for correlation-based outliers in clean data

That is, do not look for outliers based on on correlations if the row is
already flagged for other reasons.
Add a histograms-based preprocessor

Currently returns a lot of potential correlations, mostly due to many of
the extracted features being binary.
Add a synthetic dataset (FizzBuzz)

The idea here is that one can simply add "mod 3" and "mod 5" features,
instead of specifying the formal rules of FizzBuzz.

There still is some work to do on making sure that columns from a text
file have values of only one type (currently if numbers are found in a
string column they will be expanded as numbers)

Test using ./dboost-stdin.py --histogram 0.8 0.05 --discretestats 8 2
datasets/synthetic/fizzbuzz -v