[MonoMac] Refactored SaveAs* Code

Moved SaveAs* code to common function and added error handling.