Added filtering for finding local chromecasts.

If you have more than one chromecast, figuring out which ip address
is the one you want to talk to isn't obvious.

I added a set of filtering functions so that it's a little easier
to find the chromecast that you want to talk to.

E.g.:
get_single_chromecast(friendly_name="Living Room") will return the
chromecast with the name "Living Room" to you.

Filtering is enabled for ip address, anything in the device_status
or app_status tuples in the PyChromecast object.
Updated documentation
Added get_chromecasts_with_friendly_name()

get_chromecasts_with_friendly_name() retuns a dictionary
with the friendly name as a key and the PyChromecast object
as the value.
Make threads daemon threads
'filter' is a python keyword. Use 'filters'.
Code cleanups

  * if filters is {}, return all the chromecasts.
  * removed _auto_select_chromecast
  * renamed functions to get_chromecasts, get_chromecast, and
       get_chromecasts_as_dict
  * added strict flag to get_chromecast function.
  * pep8/pylint cleanups.
Added filters to play_youtube_*
Fixing example
Merge pull request #14 from rcludwick/master

Simplifications for selecting multiple chromecasts