add support for CP1255 encoding

fixes encoding errors reported in fguillot/miniflux#266
Cosmetic fix
forward the target of a redirection to the grabber

The website 01net.com uses feedsportal.com to deliver there feeds. The
article URL within the feeds points to feedsportal.com and is HTTP 301
forwarded to 01net.com. As the content grabber does not get notified
about this forwarding and the expected rule file is still
feedsportal.com.php. That isn't something the user expects and it could
be impossible to write content grabber rules for different websites
using feedsportal.com.

This was reported in fguillot/miniflux#267
Use curl effective url instead of doing a loop
fix stripHeadTags with optional HTML4 head attribute

The head Tag could have an attribute profile, so a more dynamic compare
is needed. As preg_replace needs a proper encoded document, do the utf-8
encoding before stripping the head tag.

Spotted while using the content grabber with 01net.com which results in
double encoded é's.
atom: get item language

According to RFC4287 each item within an atom feed can have its own
language tag. Use it and fallback to the feed language if it isn't
defined.
Partly revert Move Parser::isLanguageRTL() to Item::isRTL()

You need to know whether the feed is RTL to display the feed title and
description in the right direction.

The isLanguageRTL function is added back to get used by
Feed/Item::isRTL().
atom: return only site urls without or empty rel attribute

The old behavior was to return any link if we ask for links with an
empty rel.

As far as I can see, the fallback functionality in getUrl is only used
by findSiteUrl and is needed to be compliant with RFC4287:

atom:link elements MAY have a "rel" attribute that indicates the link
elation type. If the "rel" attribute is not present, the link
element MUST be interpreted as if the link relation type is "alternate".
Add some debug output for the Feed class