Make find logic faster and smarter

* Use arguments to find instead of grep.
  * it's faster and more appropriate.
* Use dynamic case sensitivity like vim search does.
  * lowercase == case-insensitive, MixedCase = case-sensitive
* Prepend and append a glob `*` to the search string
  * searching for `blah` is effectively `*blah*`.
* Match on filename ONLY unless the search string contains / or *
  then match on whole path.
* Escape those shell arguments!!
* Only match and show files (not dirs)
* Filter out the whole `.git` directory
* Filter out vim `*.sw?` files