moving docs to new locations - prelim work
started non-destructive modes for moving doc
Merge remote-tracking branch 'dellcloudedge/master'
Merge remote-tracking branch 'crowbar/master'
[Dev setup] Handle dev setup dependencies in Gemfile

Instead of checking that the required gem dependencies are present and
prompting the user to install it manually if not, specify what we need
in a Gemfile and let bundler take care of it.

This Gemfile should be very small and contain only the depedencies of
./dev setup-unit-tests. Everything else is pulled in by the main
Crowbar Gemfile.

It code path is only triggered when the --no-gem-cache option is given,
so it does not conflict with the existing gem cache mode for no Internet
use cases.
Merge pull request #1671 from jamestyj/jamestyj-dev-setup-in-gemfile

[Dev setup] Handle dev setup dependencies in Gemfile

All issues are now resolved, so time to merge!
Fix up remote repo handling.
Simplify how CI tracking saves state, and add some helpers.

This changes the state tracking metadata to not explicitly have
timestamp and committer information embedded in the states, as those
can be inferred from the commit history.

It also allows for a state to point to multiple previous states, which
is a requirement for some of our state transitions.  Future commits
will add more metadata to support allowing one state to transition to
many states, and to know when all the required transitions for a one
-> many transision has happened.

fetch_ci_tracking has been split into fetch_ci_tracking and
push_ci_tracking.  The former is mainly responsible for cloning the CI
tracking repository if it does not exist, and calling push_ci_tracking
if it does.

push_ci_tracking fetches changes from upstream and tries to rebase any
local state changes on top of the fetched changes and push the
changes (if any) back upstream.  If the rebase fails, or the rebased
changes cannot be pushed back upstream due to merge conflicts, it will throw
away local changes which will have to be regenerated.

Linking an old state to a new state has been formalized with
ci_link_state and its helper functions.  ci_link_state has the
responsibility of never generating an invalid state transition graph,
so any changes to it must preserve that property.

ci_next_states has been tidied up.

ci_get_current_state_paths has been renamed to ci_get_current states,
and updated to take the possibility of having multiple previous states
for a state into account.

Added helpers to mark tracked pull requests as merged or closed based
on the state of their respective Github pull requests. See
ci_close_stale_pull_requests for more information.

Added a helper to detect when the commits involved in a pull request
have changed and reset the state graph for that pull request.

Modified ci_import_new_pull_requests to run the close and reset helpers.

Modified fetch_all to run fetch_ci_tracking and ci_import_new_pull_requests.
Update package_barclamp.sh to work properly with a wild cache.
[TravisCI] Add script to update Git repo for Travis

The update-git.sh script is intended to be called by a cron job to
automatically update the Travis CI repository.
Source rvm if we're using it

Needed for the script to work when called by cron.
Update README

Move to Markdown format plus minor edits and updates. Also add build
status image to Travis CI.
Add Travis CI README
Merge branch 'master' of https://github.com/crowbar/crowbar
barclamp install moves to docs to new location
new home for model_barclamp (instead of crowbar barclamp)
staging moving of documentation
add relationship between attribute and barclamp
doc updates
doc updates for BDD testing units