make netstatus.get_path_by_constraint() return an OnionPath; add __str__() and __iter__() to OnionPath