Functionality for creation of duplicate sparks

Added handling of a user attempting to create a spark which already exists, by simply adding the user attempting to do so to the spark's list of users. This occurs automatically after making a POST request to `/api/v1/sparks.json` with attributes that correspond to an existing spark.

The Android side can tell when this occurs, because the HTTP status of the response will be 200 (meaning "ok"), rather than the 202 ("created"), than normally occurs when creating a new spark.

Also added more tests for this new feature, and for the Sparks Controller in general.