Adds functionality to find_MAP

Allows for the use of minimization functions that do not require a gradient. Also adds basic tests for find_MAP. Addresses concerns in issue #396.