fix connection.fun subsetting, simplify apply.fun to avoid concatenating data frames, since they're a non-primitive data type.
remove if-check, which is probably unnecessary.
move apply.fun to requestlog_parser.r and substantially upgrade. Taking advantage of modification-in-place by using vectors and objects of predefined length (rather than a df) creates a substantial memory speedup when compared to the lapply() benchmark.

Lapply():
    user   system  elapsed
1436.758    4.992 1445.417
apply.fun():
    user   system  elapsed
1101.789    0.024 1104.615