Phantom: A Smoothed Particle Hydrodynamics and Magnetohydrodynamics Code for Astrophysics