Fix federation

Changing the federation logic exposed a bug in ```stellartxt``` where it was incorrectly caching the deferred object instead of it's promise. The bug never arose, because once the promise resolves the cache is updated with the result of the request. Cache the correct promise object and don't overwrite it with the result.

While debugging I also found an inert bug that tried to create a contact for the issuer address of STR transactions which is ```NaN```. There was UX effect, but it resulted in unnecessary reverse federation requests. Ensure the issuer is defined before trying to create a contact for it.