Make sure Source Command works

This should provide the necessary components for ensuring that source works appropriately.

This also adds a few maintenance commits in allowing a Gemfile.local and fixes for windows usage of puppet gem that is not mswin specific yet (noted the bug in the gemfile commit).

This adds a few specs to ensure source can be set to local path or http location and that the default is nil.