Cleaning Up CFile

Incorporating the changes in PR #2596 
I would like to see the succinct macro strategy for get_vector, set_vector, get_matrix, and set_matrix as well.