prefer builtins to "g"-prefixed commands
"core" bashrc.d functions for controlled loading

the bashrc.d control structure is simply a for loop within a .bashrc
file. By moving the "load" logic into its own function, we can open the
door for more control in the future. Most notably:
	- loaded components are remembered, so we can load-on-demand
	- we have defined a naming convention for component functions
	- most importantly, there is now a central point for adding more
	  complex logic to the "load" function

None of this code is "live" as of this commit. This is just laying the
groundwork.
use bashrc.d to load additional components
use "bashrc.d prompt-command poke" to add additional prompt commands

rather than relying on the sort-order of component filenames to ensure
that prompt-command is loaded prior to use, use "bashrc.d prompt-command"
to ensure that the component is loaded as soon as it is required
load pwd-alias on-demand
use bashrc.d naming convention for rvm_init
use bashrc.d naming scheme for gopath
use bashrc.d naming scheme for remote aliases
gunzip the decoded base64, not the other way around
use bashrc.d naming scheme for ps1
use bashrc.d naming scheme for dirvars
add ability to read PATH entries in from a file
add path component
ensure path is loaded prior to calling external commands during component initialization
remove path from bashrc proper, it is a component now
compatibility with non-gnu find/awk
do not bother with readlink to canonicalize paths
once again, still load path even in non-interactive shells
the bashrc file itself is now merely an example

at this point, the bashrc file is too short to bother calling part of
the main distribution. Move it to the sample directory.
allow bashrc.d load, not just bashrc.d core load