Making DNA self-assembly error-proof: Attaining small growth error rates through embedded information redundancy