ENH : added more basic math functions

 - need to add tests for some of these
API : made BaseSink.make_source required

This is to make chaining tools in a single process in-memory easy.  We
might discover that there are some handlers that we can't/don't want
to let be used in chains.  If this is the case, we should either add
another class flag `chainable` (like `available`) or move function
out of BaseSink and into a mix-in class.
BUG : return instantiated KeyError objects instead of the class
ENH : Added draft of numpy backed FrameSource