Add lens_makers_formula
Add a util function 'mirror_formula'
checksysodesol method to check for solution of system of odes

This PR contain checksysodesol method which checks for solutions given for system of ODEs. This also takes into account those equation where number of equation is not equal to number of functions as long as solutions for each functions is given.
Checksysodesol for non-linear system of 2 eq 1st order
test cases for checksysodesol for linear system of 2 eq 2st order
test cases for linear sysodes in checksysodesol
Added test cases for checksysodesol and corrected other sysode test cases
added a test case and made a small changes
corrected spelling mistake
Fix limiting condition issue and add tests
consolidate exp._eval_subs and Pow._eval_subs processing

The logic for _eval_subs has been consolidated as much as possible
between exp and Pow. There were things that the one was doing that
the other was not. In addition, the decision about whether to make
a certain substitution or not is more limited in scope: one should
not obtain an expression which is not supported by the power laws.

e.g. exp(2*x).subs(exp(x),y) -> y**2 but if the exp(x) is exp(3*x)
then the substitution will fail since exp(x)**(2/3) != exp(2*x/3).
7619: fix recursion error on nested Min

Alternatively, instead of checking that the there was no AppliedUndef,
if the expression involving the Min were denested as 2*Min(a,b)->Min(2*a,2*b)
the recursion error would not have occured, either...but one might not
want the unnested expression.
order _args for consistent _hashable_content order
Merge pull request #7746 from KDMOE/checksysodesol

checksysodesol method to check for solutions of system of odes
Merge pull request #7821 from debugger22/util-funcs

More utility functions
Merge pull request #7829 from pbrady/boolalg_fix

Fix boolalg test failure
Merge pull request #7825 from smichr/7619

7619: fix recursion error on nested Min
Merge pull request #7639 from smichr/pow3

consolidate exp._eval_subs and Pow._eval_subs
atan2 recognizes imaginary arguments
correct and expand atan2 rewriting as arg