ParamFetcher::addParam() functionality

Added ability for ParamFetcher to add new params at runtime (with proper tests)

refactoring initParams() to be called from getParam() for ParamFetcher

adding documentation for addParam()