BKZ-β preprocessing with BKZ-α for α < β

This patch implements a first draft of running BKZ with a smaller block
size before enumeration. By default this preprocessing is turned
off. This patch also adds a new option for fplll: "-bpre" to specifiy
the preprocessing block size from the command line.
Merge branch 'dump-gso' into bkz-preprocessing
Merge branch 'master' into bkz-preprocessing

Conflicts:
	src/bkz.cpp
Recursive BKZ preprocessing

Refactor BKZParam to allow recursive preprocessing, e.g. BKZ-60 with
BKZ-30 preprocessing with BKZ-15 preprocessing. This changes the (mostly
internal) API.
Merge branch 'master' into bkz-preprocessing

Conflicts:
	src/fplll.cpp
Merge branch 'master' into bkz-preprocessing
Fixed a typo in code comment
BKZParam belongs in bkz.h
Refactor autoAbort and fix computation of slope
Fix computation of mean in autoAbort
Fix bug where preprocessing BKZParam was created within too small scope
Linear pruning

If linearPruningLevel is greater than zero construct a linear pruning
vector such that the first blockSize - linearPruningLevel entries are
all 1 and then descent linearly at rate 1/blockSize.

Also add option -bkzlinearpruning which accepts a linear pruning level
as defined above.
Better BKZ print params
Merge pull request #6 from malb/bkz-preprocessing

Recursive BKZ preprocessing with smaller block sizes
make dist should work