Returns 'device object' of newly created device.

            http://docs.exosite.com/portals/#create-device
            http://docs.exosite.com/portals/#device-object

def add_device(self, model, serial):
        """
            Returns 'device object' of newly created device.

            http://docs.exosite.com/portals/#create-device
            http://docs.exosite.com/portals/#device-object
        """
        device = {
                'model': model,
                'vendor': self.vendor(),
                'sn': serial,
                'type': 'vendor'
        }
        headers = {
                'User-Agent': self.user_agent(),
        }
        headers.update(self.headers())

        r = requests.post(  self.portals_url()+'/portals/'+self.portal_id()+'/devices', 
                                data=json.dumps(device),
                                headers=headers,
                                auth=self.auth())

        if HTTP_STATUS.ADDED == r.status_code:
            # fix the 'meta' to be dictionary instead of string
            device_obj = r.json()
            return dictify_device_meta(device_obj)
        else:
            print("add_device: Something went wrong: <{0}>: {1}".format(
                        r.status_code, r.reason))
            r.raise_for_status()