Fragment refactors (part one)

This is a set of refactors which were required for some further stuff I'll open in a separate pull request. Since this pull req constitutes some *not insubstantial* changes, I thought it best to get this accepted first.

**Nothing in this pull req changes the existing functionality of MPDroid.**

I've been testing this for about two weeks - I'm confident I haven't broken much ;)

* The biggest change is in 910172c where I removed the inheritance from FragmentListActivity, so that the fragments in the library can display something other than a list. To help understand why I did this, see the following screen shot:

![Screen shot](https://gist.github.com/mafrosis/5500867/raw/991164ca59a3df3c5f1bebc4f44749e00e78d1ce/Screenshot_2013-05-02-18-05-21.jpg)

* The SearchActivity changes in ad2e640 are required as a result of 910172c.
* 3f93c01 401400f & dcf6563 are all efficiency refactors. (There are many places throughout MPDroid where we can apply this kind of cleanup.)