Create method to resolve #210

I've updated the `TrigFunction` classes to use `create` and remove `subs`
I'll do the same for `HyperbolicFunction` shortly.
The signature of `create` should be:
```
virtual RCP<const Basic> create(const RCP<const Basic> &arg) const;
```