Switch Faraday adapter to typhoeus

It uses curl which has less problems connecting
to a missconfigured IPv6 host (falls back to v4)
Try fetching missing parent of relayables

* Extract post fetching logic from Reshare into
  its own module
* raise proper error message when fetching fails
* raise proper error message when parent is still missing

We can't skip fetch failures or missing parents and
still need to retry them in case we're sent the parent
later on
A reshares root may be already gone when generating the notification