change api port to be less conflicting
I'm an idiot - mock instead of reimplement in test aspect

Just mock the HTTP requests and then I can actually interact
with most of the real services.clj. Tests now see a spinner hence
the sleeps when editing.
handle empty searches more gracefully