refactor taxons controller in backend to follow DRY and break update action into number of smaller methods

Closes #5727