Replace smart_array with std::vector, update some len() calls to size()
replace header include of smart_array with vector