Added SubscribeJobState model and database table.

Instances of this model will help us show to the user the state of his feed subscription requests, similar to what's already done with RefreshFeedJobState.
The FeedsController#create action does not immediately subscribe a user to a feed anymore.

Instead, it invokes a new User instance method which enqueues a job that will perform the actions necessary to subscribe the user. Also a SubscribeJobState instance is created, so that the user can be informed of the state of his subscription request.

If the user is already subscribed to a feed with the same fetch_url, no job is enqueued.
SubscribeUserJob now accepts a "job_state_id" parameter. If not null, it's the id of the SubscribeJobState instance that reflects the current state of the job.

If the job finishes successfully, the subscribe_job_state is updated to "SUCCESS"; if it finishes with an error, it is updated to "ERROR".
Pass the correct arguments when enqueuing a SubscribeUserJob.

A job_status_id arg was added to SubscribeUserJob.perform, but the new arg was not being passed when enqueuing the job from URLSubscriber.enqueue_subscribe_job
Added controller and routes to operate on SubscribeJobState instances from the client.
WIP: display the state of subscribe jobs in the start page.
Changed icon while a subscribe job is running. Put the partial for the import process status in the same folder as the partials that paint other kinds of job state alerts.
The FeedsController#create action returns just an HTTP 200 header.

With the change to performing subscriptions in a background job, it makes no sense to return a JSON document describing the subscribed feed.
Show the alerts in the start page when there are subscribe job alerts, but no refresh feed job alerts.
Fixed closing of subscribe alerts in the start page.

Remember kids: in coffeescript, indentation is NOT your friend! Also, a function to find a specific subscribe_job_state object in coffeescript was being invoked with the wrong name.
Minor change in i18n strings for subscribe job state alerts.
WIP: when user adds a subscription, direct him to the start page and display the corresponding alert.

Currently there is a circular dependency error in angularjs services. I'll fix this later, have to commit now, okthanxbye.
Moved some angularjs code which is only necessary on startup to the controller initialization. This removes some dependences between services, which fixes a circular dependency error in angularjs services.
Fixed acceptance test to account for recent changes in subscribe feature.
Revert changes in 57e31faffb7cf0904654a791464b0a58d5fccc4b

The angularjs client cannot start "quick reading mode" or "open all entries mode" until the AJAX response with the user data has been received.
Renamed /api/user_data route to /api/user_config

It's more descriptive of its actual function, specially since I'm gonna get the count of subscribed feeds out of the response for that route and into a new /api/user_data route.
Added controller and route to retrieve data about the user.

This way, the old /api/user_data route and controller action has been separated:

- /api/user_config returns the configuration set by the user. It should be enough to load this on app initialization
- /api/user_data returns other data about the user; currently only the total number of subscribed feeds is returned, but it is envisioned that other data will be returned in the future. This can be loaded when this data has potentially changed; e.g. after a feed subscribe job finishes successfully.
Complement the changes in 47b69ebdcf6e48abc02a69e9ed447e8c3d5e6703 making the corresponding changes in the angularjs client.

Obtaining user config and obtaining other user data has been separated into two different angularjs services. Both are invoked when initializing the app, but after successfully subscribing to a feed only user data is loaded again, to get the new count of subscribed feeds (which is displayed in the start page).

This fixes the circular dependency error, hopefully for good this time.
Reorganization of tests.

Moved some tests related to subscribing to feeds from the acceptance tests to the unit test for the User model. In the process some tests which were duplicated were deleted.
WIP: acceptance tests for the new implementation of the subscribe feature.