support more charset and customized http client to download feed

Hi, I use `github.com/axgle/mahonia` here to support more charset.

And for customized http client, the reason I add this is that in GAE, `http.DefaultClient` is not allowed to use. And by adding `func FetchByFunc(fetchFunc FetchFunc, url string) (*Feed, error)`, we can make our own customized request, in which we set HTTP header, cookie and anything else.