Moved this to Descriptor.from_str() to match the convention used elsewhere in stem's codebase.
Fixed a bug where the kwargs weren't passed along.
The method provides a single descriptor by default, with a multiple = True argument that must be supplied if you want a list instead. I did this because for the common case of parsing a single descriptor stem's been a little clunky.
Descriptor type inference can now be done in three ways: a descriptor_type argument, a @type annotation, and use of from_str() on subclasses (for example, RelayServerDescriptor.from_str()).