BUG+ENH: stats: Improve the 'fit' method of norm_gen, gamma_gen and beta_gen.

Closes github issue gh-2514.

* scipy.lib: Added the 'inherit_docstring_from' decorator for inheriting
  docstrings in methods of subclasses.
* scipy.stats.beta_gen:
  * Correctly handle keyword arguments that fix parameters.
  * When both floc and fscale are given, the parameters are estimated by MLE
    (as stated in the docstring). Previously it had been using the method
    of moments.
  * When both floc and fscale are given, an error is raised if any data
    values are not in the open interval (floc, floc+fscale).
* scipy.stats.gamma_gen:
  * Correctly handle the keyword arguments that fix parameters.
  * A regularization term was added in the denominator of the formula for
    estimating the shape parameter a in gamma_gen._fitstart.
* scipy.stats.norm_gen: Implement a 'fit' method that uses the explicit
  formulas for the maximum likelihood estimation of the parameters.