Fix incorrect parse of url in video_module.py

Sometimes the video url may look like 'http://abc.com/path/video.mp4?xxxx'.
(For example, the Windows Azure's media service will offer such type of url.)
The original code in video_module.py will produce 'mp4?xxxx' instead of 'mp4'
as the extension of a filename for such type of url, and therefore the video
will be non-playable. The fix here uses the built-in urlparse module to retrive
only the path component from a url and therefore the extension 'mp4' will be
correctly fetched.
Fix the url processing error when there is a query string inside the video source's url

1. In video_module.py, rewrite the get_ext() function to use the built-in urlparse module to parse the input filename first and then get the file's extension name from the parsed path.
2. In test_video.py, add two test cases (one with query string while the other without) in order to test the rewritten get_ext() function.
Merge pull request #2963 from louyihua/master

Fix incorrect parse of url in video_module.py