Spirit : Multifunctional framework for atomistic spin simulations