Prepare particles.particles module for losses.

 - Store particle data in np arrays x_all, y_all, z_all, xp_all, yp_all,
   dp_all, id_all, alive_all and make x, y, z, xp, yp, dp, id, alive shallow
   copies (views) of the former, s.t. u = u_all[:n_alive_post] (u = x, y, ...).
 - Add method update_losses to relocate lost particles to the end of u_all
   arrays and to update macroparticlenumber and views u.
 - Add docs where necessary.
 - All tested and working.
Add particles.cython_functions cython module. Adapt cython setup.py accordingly.

 - particles.cython_functions includes a function to loop through
   the particles in the bunch and relocate lost particles to the
   end of the coords and momenta arrays.
Add aperture.aperture module. Adapt cython setup.py accordingly.

 - aperture.aperture module contains Python class definitions for
   some general aperture elements, like Rectangular for all three dims,
   Circular in transverse plane and for RFBucket losses. It also
   contains cython functions for the fast id and tagging of particles
   not passing through the aperture.
Add interactive test (ipython notebook) for aperture and losses.