Backward compatibility with v0.2.0, bug fixes, and more test Specs.

* Restore the ability to set callback function on the ngUpload directive itself. When set on both uploadSubmit and ngUpload directive, the uploadSubmit value takes precedence.

* Bug fixes to make sure ngUpload can be marked-up as ng-upload, x-ng-upload, data-ng-upload, and ng_upload, but NOT ng:upload (which keeps failing).  (See test specs)

* Test Spec refactoring to remove unnecessary 'expectations' (especially those that tests the Angular framework, rather than the ngUpload bits)

* Auto-generates the #id of the dynamic iFrame, instead of the previous "upload_iframe".  This is to prevent the common iFrame "Permission Denied" error.