use -R not -Wl,-rpath on FreeBSD

in some cases -Wl,-rpath can be passed to the linker directly instead of
going through gcc (ncurses) and on FreeBSD this causes the linker to
throw an error.  since both gcc and ld on FreeBSD understand -R (directory)
to set the rpath use this instead.
Merge pull request #248 from opscode/lcg/freebsd-opts

use -R not -Wl,-rpath on FreeBSD
Refactor the builder to use a cleanroom
Always expand paths when returning directories
Correctly evaluate the build block
Do not expand the path when using Util#windows_safe_path
Merge :env and :environment keys before shelling out
Perform minor cleanup on GitCache method
Fix builder DSL Ruby methods
Cleanup ERB rendering code
Upgrade to RSpec 3 and fix deprecations
Add preliminary unit tests for builder
Add functional tests for builders
Expand paths in Project
Expand paths in Software
Update documentation for cleanroom setter method
Update BuildVersionDSL spec
Improve builder_spec unit tests
Update config tests to use new cleanroom setter method
Use new RSpec 3 syntax for stubbing