Time-dependent density-functional theory in massively parallel computer architectures: the octopus project