Shark: introducing an open source, free, and flexible semi-analytic model of galaxy formation