retrieve the three fields from apps, and (row) bind them into a matrix, then convert to a data frame

the main purpose of this commit is actually stringsAsFactors = FALSE, which is important because otherwise terminateApp() does not work with the results returned from applications() (if the 'name' column is of class `AsIs` instead of character due to I()), e.g. terminateApp(applications()[1, 1])