Alter ZGS tests to include satellite speakers.

Modification of zone group topology tests in preparation for adding parsing of
satellite elements in zgs state XML.
Add Satellite element parsing in ZoneGroupState

SoCo instances are now created for nested Satellite elements in ZGS XML
if present, and added to all_zones and member sets.
Refactor _parse_zone_group_state for deduplication

Logic shared between the loop parsing member elements and the inner loop
parsing nested satellite elements pulled out into an additional private method.
Move parse_zg_member method into fn scope

As per recommendation in SoCo/SoCo#235.
Merge upstream master into satellites-from-zgs

Conflicts:
	unittest/test_core.py
Fix lint errors (line length)
Merge pull request #245 from simonalpha/satellites-from-zgs

Parse and process satellite elements from zone group state