Bug fixes, comprehensive test specifications, backward compatibility with v0.2.0, etc.

* Restore the callback function parsing to use scope.$eval() instead of $parse as discussed on the thread of issue #16.

* A comprehensive test Specs that covers all the usage scenario of ngUpload (about 31 all together)

* Restore the ability to set callback function on the ngUpload directive itself, for backward compatibility with v0.2.0. When set on both uploadSubmit and ngUpload directive, the uploadSubmit value takes precedence.

* Bug fixes: Ensure ngUpload will work if 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 re-factoring 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.