Makes the .chef path more closely follow Chef

- monkey path Chef::Knife so that we can get back the config path
- use the base dir of the loaded config as the base for knife-block

We use knife-block in our environment to automate some testing using different orgs for the different stages. The way the config is loaded currently, it only finds a .chef dir by walking the directory tree up from the current working dir. For something like Bamboo, which does its runs outside of the home for the user, that means we need to reconstruct the config every time. So instead this patches Chef::Knife (kinda ugly) so that we can use the same .chef directory as knife will use (definitely cool).