Various changes to get specs to pass on windows

* Fixed up cli_specs (there were some system dependent function calls that needed to be stubbed)
* Cookbook profiler git_specs needed some modifications to get them to work with cmd.exe (' -> ")
* Policy store_config_specs used File.expand_path, which is system dependent
* Comparing their SHAs was broken because windows decides to do magic unless you give it the b mode when writing files

cc @btm @danielsdeleo @adamedx 
I'm not 100% sure about it becoming ASCII.
I do know that on windows, it will do a bunch of things if you don't specify binary mode.
```
In text mode, carriage return–linefeed combinations are translated into single linefeeds on input, and linefeed characters are translated to carriage return–linefeed combinations on output. When a Unicode stream-I/O function operates in text mode (the default), the source or destination stream is assumed to be a sequence of multibyte characters. Therefore, the Unicode stream-input functions convert multibyte characters to wide characters (as if by a call to the mbtowc function). For the same reason, the Unicode stream-output functions convert wide characters to multibyte characters (as if by a call to the wctomb function). 
```