Move optional<T> into the Util namespace
Add various template utilites to Util.h