add --rename option to rename declarations and references

The `--rename` option takes a string as input, treating every couple, separated by a space,
as a find-replace option.
For example,  `--rename "$theService $myService "theFactory myFactory"`will replace
`$theService` with `$myService` and `theFactory` with `myFactory` in both the declaration
and in any annotation that will be added by ng-annotate. The actual use of the provider
won't be changed.

Closes #44
Use let instead of var, fix build
Use let instead of var, fix build
Merge branch 'rename' of github.com:frapontillo/ng-annotate into rename
Merge remote-tracking branch 'upstream/master' into rename
Add rename tests, transform remaining let to const
Add rename tests, fix test on Windows

Add both single and multiple quotes testing with renaming.
Fix for Windows EOL `\r\n` (thanks to @smrq in #56).
Merge remote-tracking branch 'upstream/master' into rename

Conflicts:
	ng-annotate-main.js
	ng-annotate.js
	nginject-comments.js
	run-tests.js
use stringmap for rename map, separate rename tests

The rename CLI option remains the same, but it is passed to `ng-annotate-main.js`
as a from-to object collection; it is then transformed and used as a stringmap.
Rename tests have been separated from the original full test and simplified to test
against the main cases.
fix: rename provider names
Merge branch 'rename' of https://github.com/frapontillo/ng-annotate into frapontillo-rename

* 'rename' of https://github.com/frapontillo/ng-annotate:
  fix: rename provider names
  use stringmap for rename map, separate rename tests
  Add rename tests, fix test on Windows
  Add rename tests, transform remaining let to const
  Use let instead of var, fix build
  Use let instead of var, fix build
  add --rename option to rename declarations and references
cleanup
rename should not break $methodName
cleanup
document --rename and its API
cleanup
cleanup
cleanup
Merge branch 'frapontillo-rename'

* frapontillo-rename:
  cleanup
  cleanup
  cleanup
  document --rename and its API
  cleanup
  rename should not break $methodName
  cleanup
  fix: rename provider names
  use stringmap for rename map, separate rename tests
  Add rename tests, fix test on Windows
  Add rename tests, transform remaining let to const
  Use let instead of var, fix build
  Use let instead of var, fix build
  add --rename option to rename declarations and references