ip: Remove unnecessary sorting before matching.

This seems like it was a debug utility that made it into the final
code.
math: Remove unnecessary subroutine overloading

I can achieve the same thing in fewer lines just using default
template arguments.
ip: Remove redunant code in Matcher.h

This new helper sub function should achieve the same results as the
template specialization and hopefully use less code.
ip: Added a return match indexes option to matcher

This is a way that hopefully has a lower memory foot print than simply
producing an entirely new copy of the matched arrays.
ip: Make matcher agnostic to input container if list