First commit of Hannes. Implemented resonator wakes and added n_slices and n_particles methods in bunch.
 ... many changes: better speed of transverse tracking, slicing, compute statistics, wake fields. also the wakefield definition for the BB resonator corrected. in general the code is full of comments and needs to be cleaned up. this is the basis for implementing the changes into a clean version from the master branch ...
add BenchMark_BBresonator_PyHeadTail.py
clean up wake_resonator.py
clean up slices.py
clean up bunch.py
start to incorporate latest updates from master, i.e. a manual merge, add bunch.slices.n_slices attribute
make the master version of slices.slice_constant_space method compatible with my new wakefield class
make the master version of slices.slice_constant_space method compatible with my new wakefield class
make the master version of slices.slice_constant_charge method compatible with my new wakefield class
add bunch.n_particles, add bunch.identity, add bunch.alive, add bunch.slices.n_slices, rename wake_resonator.py to wake_fields.py
clean up all configuration.py dependencies, replace constants by scipy.constants, add method matching.unmatched, modify matching.match_simple
speed up bunch.compute_statistics by factor 10, rename cobra_functions like in master branch, delete configuration.py, create solvers/grid.py from master branch, create cobra_functions/random.pyx from master branch
optimize beam.compute_statistics for speed
remove the bunch.alive attribute (this will be encoded in the beam.identity as 0 for lost particles ...)
add sorting of bunch.identity to the bunch.slices.slice_constant_space and bunch.slices.slice_constant_charge methods
move bunch.compute_statistics from trackers/transverse_tracker.track to impedances/wake_fields.track
add bunch_unmatched_but_sliced definition function to beams/bunch.py, add charge to the list of parameters to be saved in monitors.BunchMonitor, change printout in the main loop of BenchMark_BBresonator_PyHeadTail, include bunch.update_slices() in longitudinal tracking
rename BenchMark_BBresonator_PyHeadTail.py, remove self.dz_argsorted in beams.slices.slice_constant_charge and beams.slices.slice_constant_cspace
clean up trackers/longitudinal.py (the matching routines that Kevin put into matching long time ago), rename bunch_unmatched_but_sliced to bunch_unmatched_inbucket_sliced in beams.bunch.py and all other occurrences, clean up unmatched in beams.matching.py