Coding day 2015 bonded interactions

=Instructions=

1. Cose a bonded interaction to work on. Only begin with Stage 2 after stage 1 is complete. 2. Expose the relevant part of the Bond_parameters data structure in src/core/interaction_data.hpp to Cython in src/python/espressomd/interaction_data.pxd. This happens in the section cdef extern from "interaction_data.hpp": Example forHarmonic bond (search in interaction_data.xd) ctypedef struct Harmonic_Bond_parameters: And further below: ctypdef union Bond_parameters: ...     Harmonic_bond_parameters harmonic

3. Find the c-function in the Espresso core which activates the interaction. Most interactions have individual .cpp-files in src/core (harmonic.cpp, fene.cpp ...) They typically contain a function such as  harmonic_set_params 4. Expose this function to Cython in src/python/espressomd/interactions.pxd Use the HarmonicBond class as example 6. Add a test case in testsuite/python/bondedInteractions.py. These Tests only test the interface, i.e., whether parameters set euql parameters queried from Espresso

Stage 1
(sascha, Kai, Jonas)
 * twist_stack NOT DOCUMENTED
 * rigid_bond DONE
 * hydrogen_bond
 * tabulated (Needs to be checked. If passing the file name doesn't work this way, see cython faq on passing python strings to c) NO TEST
 * fene DONE
 * harmonic DONE
 * harmonic_dumbbell DONE
 * angle_harmonic (Testcsae fails ) DONE
 * angle_cosine (Test cais error) DONE
 * angle_cossquaret case Error DONE
 * dihedral, fix test case DONE
 * virtual_bond DONE

Stage 2

 * ibm_triel
 * ibm_volcons
 * ibm_tribend
 * quartic
 * bonded_coulomb
 * angledist
 * umbrella
 * stretching_force WORKING
 * stretchlin_force WORKING
 * area_force_local WORKING
 * bending_force WORKING
 * area_force_global WORKING
 * volume_forcet csae fails WORKING
 * subt_lj WORKING
 * endangledist NO TEST
 * overlapped NO TEST

Deprecated

 * angle (Is replaced by angle_harmonic, angle_cosine, etc.)