Changed users route from resourceful to implicit

Cleaned up formatting

Added detailed error messages for handling validation

Added unit tests