Some additions:

1) Added the ability to get a list of groups
2) Added the ability to get a group by its name
3) Added the ability to get a record by its ID. This needs some investigating, along with the previous item, as it only returns a single match and doesn't account for more than one match
4) Added in some primitive profiling, commented out
5) Set some default return values for the getRecordByFieldD and getGroupByName functions. The default return value is simply an empty item

Updated the TODO list:

1) Removed the items that have just been implemented