In case people are interested in solving this using dplyr:
library(dplyr)
testdata %>%
rowwise() %>%
mutate(key = paste(sort(c(Var1, Var2)), collapse="")) %>%
distinct(key, .keep_all=T) %>%
select(-key)
# Source: local data frame [3 x 4]
# Groups: <by row>
#
# # A tibble: 3 × 4
# Var1 Var2 f g
# <dbl> <dbl> <fctr> <fctr>
# 1 1 4 blue blue
# 2 2 3 green green
# 3 5 5 orange2 orange1