A function to connect to a bigip device and create a node.

    hostname
        The host/address of the bigip device
    username
        The iControl REST username
    password
        The iControl REST password
    name
        The name of the node
    address
        The address of the node
    trans_label
        The label of the transaction stored within the grain:
        ``bigip_f5_trans:<label>``

    CLI Example::

        salt '*' bigip.create_node bigip admin admin 10.1.1.2

def create_node(hostname, username, password, name, address, trans_label=None):
    '''
    A function to connect to a bigip device and create a node.

    hostname
        The host/address of the bigip device
    username
        The iControl REST username
    password
        The iControl REST password
    name
        The name of the node
    address
        The address of the node
    trans_label
        The label of the transaction stored within the grain:
        ``bigip_f5_trans:<label>``

    CLI Example::

        salt '*' bigip.create_node bigip admin admin 10.1.1.2
    '''

    #build session
    bigip_session = _build_session(username, password, trans_label)

    #construct the payload
    payload = {}
    payload['name'] = name
    payload['address'] = address

    #post to REST
    try:
        response = bigip_session.post(
            BIG_IP_URL_BASE.format(host=hostname) + '/ltm/node',
            data=salt.utils.json.dumps(payload))
    except requests.exceptions.ConnectionError as e:
        return _load_connection_error(hostname, e)

    return _load_response(response)