Add support for third-party extractors

In response to issue #1185.

Other packages can register new extractors through the `youtube_dl.extractors` setuptools entry-point.

For example:

```python
setup(
    # ...
    entry_points={
        'youtube_dl.extractors': [
            'myextractor = mypackage.extractor.MyExtractorIE',
        ],
    },
)
```

Once the package AND youtube-dl are installed, the registered extractor will work just like an ordinary extractor.

One issue that I didn't take into account while coding this is the order of the extractors. The extractors will be registered in the order defined by the `pkg_resources` algorithm, which is uknown to me.