Implemented Delete functions and missing Update ones and other changes

Other changes:
- Cast operators
- Constructors
- Alternative (more universal) way of calling Get functions by Type
AsanaFunctions for the new Get

Needs improvement of code (duplication, not DRY), but since it compiles
to text it doesn't really matter for performance.