Multiple changes to base tools

- Added the type_traits.
- Added base::array.
- Added constructors for basic_string_ref from array and vector.
- Updated the test case for strings.