Use PATCH HTTP verb to request a feed refresh.

Also instead of a custom named route for /feed/:id/refresh which maps to FeedsController#refresh, the more usual resourceful style is used, with an :update route for the feed resource mapped to FeedsController#update.

Before this commit we were doing feed refreshes with a GET, which is not a good idea as GET should be idempotent; refreshing a feed clearly isn't. PATCH is more appropiate to an action which can potentially change data in the server. Rails 4 support for PATCH enables us to make better use of HTTP verbs.

For the moment in Rials 4.0 all actions done with PATCH are also done with PUT; we use PATCH instead of PUT in all cases because this PUT support may be deprecated in the future, read:

  http://weblog.rubyonrails.org/2012/2/25/edge-rails-patch-is-the-new-primary-http-method-for-updates/

As a side effect, the path to read a feed and to request a refresh is the same; the difference is that the URL is invoked with a GET or with a PATCH. This enables us to remove a global javascript variable (which previously stored the refresh URL); now we only keep a global variable with the URL for the curretnly selected feed. This URL can be used both for retrieving the feed and for requesting its refresh.
Updated sqlite3 gem from 1.3.7 to 1.3.8
Changed the JSON format expected by FoldersController.

It now better conforms to examples in the strong parameters documentation. In actions that mean a change in the database (create, remove, update) the new attributes are inside a folder: {} hash.
Changed the JSON expected by FeedsController to better adapt to the strong parameters documentation.
Removed FolderFeedRemove class. Instead the action of removing a feed from its current folder is performed with  a Feed instance method.

This means less code duplication. Before, the code to remove a feed from its current folder, for a given user, was duplicated in:

- the Feed callback that run when a feed was added to a folder (so that the feed was removed from its old folder before being added to a new one)
- the FolderFeedRemove class, which was invoked when a user explicitly removed a feed from its folder by clicking on "None" in the folder dropdown menu.
Renamed classes and methods related to moving feeds into/out of folders, for better readability.
Fixed the code that finds the folder in which a feed is, for a given user.

The code relied in a present?() call which was not working correctly. Instead we now use an exists?() call on the folders associated with a single feed, which gives the desired result.
Moving a feed into a folder is done with a single method, FolderManager.move_feed_to_folder, regardless of whether the folder already exists or not.

For this, a facade method has been created, FolderManager.move_feed_to_folder, and the previously existing methods have been made private. The facade method receives optional arguments that tell it if the folder already exists or not, and then it calls the correct private method.

From the point of view of classes using the services of FolderManager now things are a bit different; instead of two methods, there's a single method with optional arguments.

The optional arguments are named arguments, and therefore do not work in versions of Ruby older than 2.0
Requesting that a user move a feed into a folder is done with a single method, regardless of whether the folder already exists or not.

Previously two different methods existed on the User instance, one to be used when the folder already existed, and another one for when the folder had to be created as part of the action. Now the two methods have been unified in a single method, with optional arguments that indicate if the folder already exists or not.

This User#move_feed_to_folder method is actually a facade for FolderManager.move_feed_to_folder, which creates the folder if necessary as part of the move.

The optional arguments in User#move_feed_to_folder are named arguments, and therefore this code won't work in versions of Ruby earlier than 2.0
WIP: remove FoldersController#remove action.

Instead a feed will be removed from a folder by calling the FoldersController#update action with the param folder_id to the value "none".

Already implemented: the same method is invoked on the User instance to move a feed to another folder and to remove it from its current folder. FoldersController#remove and FoldersController#update actions are exactly the same and could be simplified keeping only one of them.

Not yet implemented: javascript code should call FoldersController#update with a special value of "none" in the folder_id param.
Renamed coffeescript file for more homogeneous nomenclature.

Now we speak about "moving a file into a folder" instead of "adding a file to a folder".
Moving a feed into an existing folder is requested with an HTTP PATCH, instead of a PUT.

This takes advantage of Rails 4 support for the PATCH HTTP verb. PATCH is more correct when submitting a partial representation of a resource.

Moving a feed into a newly created folder is still done with a HTTP POST, because it's correct for creating a new resource instance.
Removing a feed from its folder is requested via an HTTP PATCH request, instead of a DELETE request.

The path for this PATCH request is the same as when moving a feed to an existing folder, and it's routed to the FoldersController#update RESTful action. The difference is that when removing a feed from a folder the folder id passed as a parameter is "none".

The custom named route "folder_remove" has been deleted along with the FoldersController#remove action. Only normal RESTful routes and controller actions are used now for folders.
Changing entry state (read/unread) is requested via an HTTP PATCH instead of a PUT.

This leverages Rails 4 support for PATCH verb, which is more correct when sending only a partial representation of a resource to update it.