Added a new function "variables" which returns all variables from a uri template

Example usage:

    >>> from uritemplate import variables
    >>> variables('http:www{.domain*}{/top,next}{?q:20}')
    >>> set(['domain', 'next', 'q', 'top'])

I want to add test cases to this, but since the current test runner is custom, and intended only to test expand, I'm not sure how to add them.