Added OpmlImportFailure model and db table.

Every time a feed subscription fails during an OPML import, an instance of this class will be saved. This way it is possible to know which feeds have failed during an OPML import (either still running or already finished) by looking at associated OpmlImportFailure instances.
Added FactoryGirl factory definition for OpmlImportFailure model.
Fixed factory definition name.
Added unit tests for the relationship between OpmlImportJobState and OpmlImportFailure instances.
Added unit tests for the OpmlImportFailure model.
Fixed potential bug when an error is raised during an OPML export.

This bug could potentially have caused multiple OpmlExportJobState instances to exist for the same User.
When enqueing a job to import an OPML file, any failures data related to a previous import for the same user is destroyed.

This way it is guaranteed that any OpmlImportFailure instances in the db are related to import failures that happened during the last import process for a user. No information is retained for other import processes than the last one for any given user.

To achieve this, when enqueing an ImportSubscriptionsWorker, the old OpmlImportJobState for the user is destroyed; thanks to ActiveRecord callbacks, this triggers the destruction of any associated OpmlImportFailure instances. Immediately afterwards a new OpmlImportJobState is created with state RUNNING. This replaces the old behavior in which the OpmlImportJobState instance was updated, instead of destroyed and recreated.
WIP: insert OpmlImportFailure records when ImportSubscriptionsWorker runs, every time a feed URL present in the OPML fails during importing.
When ImportSubscriptionsWorker runs, an OpmlImportFailure instance is saved for each feed URL present in the OPML file that cannot be imported.
WIP: change test support function "mail_should_be_sent" to support validating the presence of multiple strings in the email body.
Fixed tests to account for change in "mail_should_be_sent" support function in commit 857ba3df994dd09d7691100eb67e526c3bb66fda
Test that the notification email sent after successfully finishing importing an OPML contains the URL of any failed feeds.
When an OPML import finishes successfully, any failed feeds are displayed in the alert shown on the start page.
Enable bundler caching in Travis CI. This should speed up tests a lot.

See the docs here:

	http://docs.travis-ci.com/user/caching/
Assign ImportSubscriptionsWorker to a lower priority Sidekiq queue.

OPML importing has higher priority than maintenance tasks, but lower than truly interactive tasks like subscribing to a feed. In as much as possible, I'd like users not to have interactive tasks delayed because other users are importing OPMLs. The user is warned that an OPML import is a slow process and he should not be surprised.

Of course a delay in interactive tasks is still possible if all sidekiq threads are used up by instances of ImportSubscriptionsWorker, but this is not fixable without dedicating threads to the interactive queue exclusively, which would add a complexity I want to avoid.