Fix CreateServer ignoring the networks parameter (fixes rackspace#39)

As reported in rackspace#39, the `CreateServer` implementation was ignoring the `networks` parameter. This change does the following:

* Changes the `networks` parameter from `IEnumerable<Guid>` to `IEnumerable<string>` to more closely match the API, especially since the matching `CloudNetwork.Id` property is already `string`
* Checks that `networks` does not contain `null` or the empty strings
* If `networks` is not `null`, adds the specified networks to the `networksToAttach` list (no longer ignoring the parameter)

**Breaking Change**

After this change is merged, code which calls `CreateServer` will need to be recompiled against the new SDK release. In addition, code which uses the `networks` parameter will need to be updated to use `IEnumerable<string>` instead of `IEnumerable<Guid>`.