A test case that demonstrates #86

First thing's first.
Generate solo.rb during cook so we can use a path under $HOME as the solo path
Manifest update
Raise a useful error if the user has a solo.rb w/o a knife solo path config.
Changelog updates
Remove windows path adjustment.

This should work by default now that we use relative paths or should be customizable using solo.rb and knife.rb if needed.
Remove kitchen validation

Now that we no longer have a solo.rb none of the typical kitchen files are actually required. Even a node config will get generated at runtime if it doesn't already exist.

This test was originally included as a guard against syncing more than was intentional. I'm unable to come up with a way to effectively do that without getting tricky. Ideas are welcome.
Backwards conditional (yay integration tests!)
A KnifeSolo::Config to encapsulate configuration discovery
Use KnifeSolo::Config in solo cook
Use KnifeSolo::Config in solo clean
Manifest updates
This feature has been bumped to 0.3.0
Merge pull request #197 from matschaffer/issue/avoid-cache-path-1

Another attempt at transfering to a re-writable protected path.