Adds a network search dialog to automatically find available network shares.

This adds a search icon next to the path field on the AddSourceDialogFragment.  Using that, it will search the local network for all available unhidden shares, thus avoiding things like /printers$, etc.

Review the search code, I'm not sure it's the best architecture.  You have to search `smb://` for all domains (can't assume just WORKGROUP), then search each of those domains for servers, then search each server for shares.  Right now it's just embedded for loops, but that works alright since they shouldn't be enormous lists (unless you live in a dorm), and they will only ever be those 3 levels deep.

In the future I'd like to look into turning this into a file browser of sorts, so you could navigate down the tree.  But that will take design thought and more time, so this works for now.
This is bad. Things like a `NullPointerException` or `OutOfMemoryError` should not be swallowed.