Structural Properties of Non-Linear Cellular Automata: Permutivity, Surjectivity and Reversibility | Synapse