Construct API endpoint URLs using instance options in `self.args` 
        and local arguments passed to the function as a dictionary `argdict`.
        
        >>> api = BustimeAPI("BOGUSAPIKEY")
        >>> api.endpoint('VEHICLES') 
        'http://realtime.portauthority.org/bustime/api/v1/getvehicles?key=BOGUSAPIKEY&tmres=s&localestring=en_US'
        >>> api.endpoint('PREDICTION', dict(stpid=4123, rt="61C"))
        'http://realtime.portauthority.org/bustime/api/v1/getpredictions?key=BOGUSAPIKEY&tmres=s&localestring=en_US&format=json&rt=61C&stpid=4123'

def endpoint(self, endpt, argdict=None):
        """
        Construct API endpoint URLs using instance options in `self.args` 
        and local arguments passed to the function as a dictionary `argdict`.
        
        >>> api = BustimeAPI("BOGUSAPIKEY")
        >>> api.endpoint('VEHICLES') 
        'http://realtime.portauthority.org/bustime/api/v1/getvehicles?key=BOGUSAPIKEY&tmres=s&localestring=en_US'
        >>> api.endpoint('PREDICTION', dict(stpid=4123, rt="61C"))
        'http://realtime.portauthority.org/bustime/api/v1/getpredictions?key=BOGUSAPIKEY&tmres=s&localestring=en_US&format=json&rt=61C&stpid=4123'
        """
        
        instanceargs = "{}&{}".format(queryjoin(key=self.key), queryjoin(self.args))
        if argdict:
            localargs = queryjoin(argdict)
            querystring = "{}&{}".format(instanceargs, localargs)
        else:    
            querystring = instanceargs
        return "{}?{}".format(self.ENDPOINTS[endpt], querystring)