Changed lambdify to use numpy.array for Matrix

This is the first step on moving towards using numpy.array to represent
sympy.Matrix by default. This change adds a kwarg `new_defaults` that
defaults to False. If it's False, the previous behavior (numpy.matrix)
is used, and a SymPyDeprecationWarning is issued. If it's True, the new
default of numpy.array is used. In the next release this kwarg should be
removed.
add support for numexpr in lambdify
use NUMEXPR_TRANSLATION to replace sympy strings with appropriate numexpr functions
create NumExprPrinter class to encapsulate transformations necessary for numexpr lambdification
Replace string manipulations/replacements with printer functions
Make a statement gender neutral in documentation of unit systems
allow .evalf to take None for n; unify evalf arglist names
lambdified with numexpr can now take implemented_function.  Added tests.
Add special elif case Pow._eval_is_real for self.base in (I, -I), fixes #7843
Merge pull request #7844 from debugger22/gender-neutral

Minor doc fix
raise TypeError if numexpr is not alone in modules
Changed `new_defaults` to `default_array`

Final fixes for deprecation of lambdify converting Matrix to
numpy.matrix by default.
raise TypeError if subs for evalf is not a dictionary
Merge pull request #7848 from skirpichev/7843-fix

 Add special elif case Pow._eval_is_real for self.base in (I, -I)
Removed authors header from docs

Removed authors header from docs in mechanics and vector.
Merge pull request #7854 from jcrist/remove_authors

Removed authors header from docs
Do not escape raw string literals
Merge pull request #7855 from debugger22/make-raw-string

Do not escape raw string literals
Merge pull request #7839 from pbrady/numexpr

Add numexpr option for lambdify
define n when you define evalf (BasisDependent)