Use getcwd instead of cwd

Based on: http://www.dagolden.com/index.php/2312/why-you-should-use-getcwd-and-not-cwd/
Use chdir to change directories
Use more portable approach to check whether git is installed

Tye McQueen's idea (tye on PerlMonks: http://www.perlmonks.org/?node_id=22609)
Improve method for getting/reporting absolute path of script dir
Fix bug when using Perls <5.14 (no auto dereferencing of keys args)
Fix ';' bug RE: getting git info in Windows
Add back validating archive version when reproducing (oops)
Rename _add_warnings() to _add_warnings_to_current_state()
Define _raise_warning() sub
Remove rogue ';' in _git_info()
Fix tests for Windows by using File::Spec to get path to null device
Fix tests for Windows by using double quotes in CLI call (P:8/8)

In addition to *nix, now passes all tests on Windows 7 when running"

- Strawberry Perl 5.18.2 (via CMD)
- git 1.9.4 (via CMD, not Git Bash)
Add auto-build option for Windows
Merge branch 'feature/windows-friendly' into develop
Update version #, changelog, and flowchart (P:8/8)
Merge branch 'release/0.12.0' into develop