return a valid path to the given binary. Return an error if no existing
    binary can be found.

    Parameters
    ----------
    binary_name: string
        a binary name used as a key in the 'binaries' dictionary above

    Return
    ------
    string
        full path to binary

def get(binary_name):
    """return a valid path to the given binary. Return an error if no existing
    binary can be found.

    Parameters
    ----------
    binary_name: string
        a binary name used as a key in the 'binaries' dictionary above

    Return
    ------
    string
        full path to binary
    """
    if binary_name not in binaries:
        raise Exception('binary_name: {0} not found'.format(binary_name))

    system = platform.system()
    binary_list = binaries[binary_name][system]

    # check list for a valid entry
    for filename in binary_list:
        valid_file = shutil.which(filename)
        if valid_file:
            return os.path.abspath(valid_file)