Add Storyboard puppet module

There are two major parts being installed with this module:
1. storyboard-api - REST API service served  with
   apache mod_wsgi module
2. storyboard-webclient - static html/css/js files.
   This project is built and published to tarballs.o.o,
   from where it'll be installed with this puppet module

This module requires three configs from Hiera:
* storyboard_db_host
* storyboard_db_password
* storyboard_db_user

Installed projects:
* http://git.openstack.org/cgit/openstack-infra/storyboard/
* http://git.openstack.org/cgit/openstack-infra/storyboard-webclient/

Things to be added in later commits:
* Documentation for ci.openstack.org
* Configure logging (once supported by storyboard)
* SSL

Change-Id: If3da06f8d20a6282036f1f9f063c25a6d0db60c6
Added Authorization Header flag to storyboard module

We can't log into storyboard right now because we never told wsgi
to forward the Authorization header. This fixes that.

For more information:
https://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIPassAuthorization

Change-Id: Ibf8fb17569e7bb249801a8bd6971d0aa0f3ecaac
Make storyboard run over ssl

We're doing auth now, so we should really do it over SSL.

The cert contents are already in hiera.

Change-Id: Ia939e228785168705840acd6d377e6c25ba3370d
Load storyboard projects from projects.yaml

Openstack manages it's projects in projects.yaml file. As we want all of
the projects to have a corresponding entry in storyboard, run the
storyboard projects.yaml loader if projects.yaml changes.

Change-Id: I86367b9980b100bf45f2dd881ca626a16f31cca1
Load storyboard superusers from yaml file

There are actions, such as deleting projects, that should only be done
by superusers. For that to work, we need to have superusers.

Change-Id: I827446788ca53018a6d2c76eaf667b6fe4065f80
Storyboard token expiration increased

Expiration is set to 24 hours.
This should be merged before https://review.openstack.org/#/c/84107/

Change-Id: Ie3ba222caf2b8c6c20ffcac0cbd94bc8b4e2a83d
Make storyboard idempotent

Previously the curl command was itself idempotent but this
was transparent to Puppet, meaning the node reported as
always changed. I have, somewhat akwardly, taught Puppet how to
check for changed files on the remote server. It pulls only HTTP
headers to save time/bandwidth.

Change-Id: I539e67f0c82ad91450dd3720512b92518e70c122
Put a default section header above the TTL

Turns out that ini files need section headers.

Change-Id: Ia6c715fa4e47135ad3a81577db9a8749342b654d
Merge "Load storyboard superusers from yaml file"
Merge "Make storyboard idempotent"
StoryBoard module bounces apache on update

Apache doesn't reload python libs until a reboot, so
our strategy of reloading storyboard wasn't effective.
This removes the old storyboard-reload command and
replaces it with a straight http service restart.

Change-Id: I1f2fb736277c3ca39b513695e42ef4860267737f