Ability to update user data using PUT

#### What's this PR do?
1. I changed the "users" route to use an implicit controller instead of a resourceful one. In Laravel's resourceful controller, the  "update" action does not support query parameters when the HTTP PUT method is called on the route. The "update" method was changed to "putUsers" in order to define my own functionality for PUT.

2. Adds detailed error message for incorrect validation to JSON response upon registering a new user.

3. Allows JSON data to be used as input parameter for POST & PUT methods.

4. I cleaned up creating/updating of User Eloquent model code to loop through array of input values as opposed to checking each value individually.

5. Included test cases for retrieving a user using PHPUnit

#### Where should the reviewer start?
Most of the changes have been made to the user controller located in app/controllers/UserController.php. The unit tests are located in UserTest.php in the app/tests directory.

#### How should this be manually tested?
This endpoint should be tested by conducting a Curl request: Specify the PUT method & pass data in JSON format to a particular user: 

curl -X PUT --data "email=new@updated.com" http://homestead.app/1/users?drupal_uid=123456

I meant to add this commit to the same pull request but this is what I added in my next feature branch. We can use a simple array to limit the request values:
```ruby
$data = Input::json()->all();
$allowed = array('email','mobile','password','drupal_uid','addr_street1','addr_street2','addr_city','addr_state','addr_zip','country','birthdate','first_name','last_name');
$input = array();
foreach ($data as $id => $value) {
     if(in_array($id, $allowed))
        $input[$id] = $value;
}
```