Implement add() method

- Implement generic insert() method to call from both add() and push()
- Delete auxiliar array to store non ringed data, return by copying data
  instead
- Implement add() tests