trust region optimization

Add a few files and tests for trust region optimization, including fmin_dogleg() and fmin_trust_ncg().  One of the tests will fail until you get the fmin_ncg() bugfix at https://github.com/scipy/scipy/pull/507 .

I've written this code according to my understanding of the algorithms in Nocedal and Wright 2nd edition, and my design has been to make the pull request not overly entangled with the existing scipy codebase but to still be compatible.  Maybe eventually someone will want to incorporate these trust-region optimization functions into the borg of _minimize.py

My workflow for scipy development and testing with github is very inefficient so I would like to minimize modifications to this pull request.