Added method construct in TrigFunction and inherited classes.

new cannot be used as a method name as it is a restricted keyword
so construct was used.
Refactor `construct` to `create`

create is shorter and expresses the same meaning. So create is a
better option.
Added `subs` in `TrigFunction`

Now all the `subs` in the inherited classes can be removed.
Removed `subs` from inherited TrigFuncion classes
Updated subs for Hyperbolic class. Refactored create definition.

Now the HyperbolicFunction also has a subs in the base class and
the create method has been added in the inherited classes.
The create method has been refactored to pass by reference as
opposed to pass by value in the earlier version.
Merge pull request #213 from sushant-hiray/new_method

Resolves #210. Merged #213