Solar energy can now be stored for up to 18 years, say scientists