Change FetchFeed consturctor to use named parameters

This way you can initialize the FetchFeed class with passing a custom
logger, but without having to pass a parser.
Add integration test for feed importing

Covers:
- Initial import
- Update where no new entries are available
- Update where new entries are available
Add integration test for feed with invalid pub dates
Change feed importer to use story ids to determine if a story is new

This should make feed importing more robust. Pub dates of feeds and
articles can not always be trusted (see
https://github.com/swanson/stringer/issues/261).
Using this mechanism we should always reliably be able to tell which stories
are new, regardless of pub dates being correctly reported or not.
Adhere to project code style (string double quotes)
Support feeds with stories with scheme-less urls

Example is https://blog.golang.org/feed.atom.
Urls in this feed are referenced to as scheme-less urls
(//blog.golang.org/context).

This commit adds normalization of story urls using the feed url. If a
story url doesn't have a scheme it will use the scheme of feed's url.
Refactor url normalization in StoryRepository
Handle cases where URI's cannot be parsed when expanding urls
Fix comment typo
Refactor StoryRepository#normalize_url for improved readability
Merge pull request #329 from pascalw/bugfix-schemeless-story-urls

Support feeds with stories with scheme-less urls
Merge pull request #330 from pascalw/bugfix-expand_absolute_urls

Fix feed importing when URI's cannot be parsed when expanding urls
Ignore stories older than 3 days when importing feeds

Timestamps in feeds can not be trusted but we not some form of
preventing old articles be imported when a new feed is added or when
this branch is merged and the way Stringer handles story updates
changes. See discussion in
https://github.com/swanson/stringer/issues/261 and
https://github.com/swanson/stringer/pull/328.
Allow to enforce SSL

Enabled when ENFORCE_SSL=true is set.
Merge pull request #333 from pascalw/feature-ssl-enforcement

Allow to enforce SSL
Merge pull request #328 from pascalw/feature-improve-feed-importing-robustness

Improve feed importing robustness
Remove foreman from Gemfile

> You should not put `foreman` into your `Gemfile` as the dependencies of a
> developer utility should not be able to interfere with the dependencies of
> your app.
<https://github.com/ddollar/foreman/pull/437#issuecomment-41110407>

> Ruby users should take care *not* to install foreman in their project's
> `Gemfile`.
<https://github.com/ddollar/foreman/blob/v0.68.0/README.md#installation>
Merge pull request #336 from Koronen/remove-foreman-from-gemfile

Remove foreman from Gemfile
Clean up Gemfile

* Sort gem declarations lexicographically.
* Use `arel` from RubyGems.org.
* Add pessimistic version lock on `rack-ssl`.

Fixes #334.
Merge pull request #338 from Koronen/clean-up-gemfile

Clean up Gemfile