new Dataset class

Rewrote because the old list of Reading objects + properties object was
awkward, and also because they changed the dir structure a bit for the
next round.
update numutil
first pass at PF; doesn't work yet
add plotting to pf, and some tweaks
first attempt to speed up laser computation (currently slower)
minor
first attempt at cythonizing lasers; still too slow
move lasers to c entirely (finally; 90x faster)
adjust pf to use fast.readings_for_obstacles()
profiling notes
remove old particle scatterplot before drawing new one
bugfix: forgot to make ground lasers counter-clockwise

This points to the fact that reading data is not DRY :/
port estimate_lasers_noise() to new dataset format
helper to plot obstacles
wip debugging the pf