Octopus, a computational framework for exploring light-driven phenomena and quantum dynamics in extended and finite systems