Merge SimulationData and Frame type
Switch from Nullable{Array} to Union(Void, Array)

The interface is easier to use, and Nullable{Array} does not give
a lot of usefull stuff here
Velocity verlet integrator
Add a distance3d function

Its return the minimal image of the vector between two
particles
Better organisation of potentials
Add Simulation Configuration Error
Switch to Interaction instead of pure Vector{Potential}

This allow an easier lookup to find the potential to apply
to some type of atom pair
Add force method for potentials
Try to automatically compute the force in UserPotential

ForwardDiff package is used to differentiate the potential
and get the force function.
Naive force computation

Algorithm mainly derived from the "Understanding Molecular Simulation"
"From algorithm to applications"