Updated the compile-time metaprogramming utilities

- Moved the iteration_info into a separate file.
- Added the accumulate function.
- Added the reverse and position meta-functions.
- Updated the append and prepend meta-functions.
- Added/updated test cases.