Add local.sh support and samples of local.sh and locarc

Run $TOP_DIR/local.sh at the end of stack.sh if it exists and is executable.
This allows the user to automatically perform local actions on every re-stack,
such as creating custom flavors or specific tenants/users.  Like localrc, this
file is not distributed with DevStack so user modifications will be undisturbed.

Add local.sh to .gitignore

Examples of local.sh and localrc are in the samples/ directory.

Change-Id: I0be6b4d80ce084981cac8a3a8f1dc9bc8c3bbd4e
diff --git a/samples/local.sh b/samples/local.sh
new file mode 100755
index 0000000..83637f9
--- /dev/null
+++ b/samples/local.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+
+# Sample ``local.sh`` for user-configurable tasks to run automatically
+# at the sucessful conclusion of ``stack.sh``.
+
+# NOTE: Copy this file to the root ``devstack`` directory for it to
+# work properly.
+
+# This is a collection of some of the things we have found to be useful to run
+# after stack.sh to tweak the OpenStack configuration that DevStack produces.
+# These should be considered as samples and are unsupported DevStack code.
+
+# Keep track of the devstack directory
+TOP_DIR=$(cd $(dirname "$0") && pwd)
+
+# Use openrc + stackrc + localrc for settings
+source $TOP_DIR/stackrc
+
+# Destination path for installation ``DEST``
+DEST=${DEST:-/opt/stack}
+
+
+# Import ssh keys
+# ---------------
+
+# Import keys from the current user into the default OpenStack user (usually
+# ``demo``)
+
+# Get OpenStack auth
+source $TOP_DIR/openrc
+
+# Add first keypair found in localhost:$HOME/.ssh
+for i in $HOME/.ssh/id_rsa.pub $HOME/.ssh/id_dsa.pub; do
+    if [[ -f $i ]]; then
+        nova keypair-add --pub_key=$i `hostname`
+        break
+    fi
+done
+
+
+# Create A Flavor
+# ---------------
+
+# Get OpenStack admin auth
+source $TOP_DIR/openrc admin admin
+
+# Name of new flavor
+# set in ``localrc`` with ``DEFAULT_INSTANCE_TYPE=m1.micro``
+MI_NAME=m1.micro
+
+# Create micro flavor if not present
+if [[ -z $(nova flavor-list | grep $MI_NAME) ]]; then
+    nova flavor-create $MI_NAME 6 128 0 1
+fi
+# Other Uses
+# ----------
+
+# Add tcp/22 to default security group
+