Remove rake spec:javascipts from Travis CI config.

At this point in time, Travis CI takes about 15 minutes to run the entire test
suite. Travis CI is running the JavaScript specs, which requires installing a
bunch of NPM packages. The thing is we only have one JavaScript spec for the
alert message to disappear. Removing the rake spec:javascripts script from
Travis CI runs should improve the time it takes to complete. While this is not
ideal once/if more JS is added to the app, I think for now it is a little win
that helps.
Only use Poltergeist to drive features when needed

When writing feature specs, the Rack::Test driver is used by default. If the
Poltergeist driver is required to be used, add the +use_poltergeist: true+
metadata to the spec.

This should improve the performance when running feature specs. It should
decrease the opportunities of Capybara timing out when Travis CI runs specs.

Note: because of this switch, it is required to be more specific about elements
that occur multiple times on a page. For example, this may require using within
blocks.
Merge pull request #397 from opscode/adjust_feature_spec_driver

Only use Poltergeist to drive features when needed
Add and configure the sitemap_generator gem.

Supermarket needs a sitemap, and the sitemap_generator gem generates sitemaps.
This commit does not include the setup and configuration of a job to refresh the
sitemap.
Create Sidetiq worker to refresh sitemap daily.

Using the sitemap_generator gem, the Sidetiq worker refreshes the sitemap daily
at midnight and pings the search engines.
Improve responsiveness

Improves the responsiveness throughout the application, specifically:

- Adjust directory so columns line up on small screens.
- Adjust cookbook header so follow button doesn't fall off.
- Ensure cookbook sidebar has padding at the top.
- Improve look, feel and responsiveness of welcome view.
- Add wrapper class for welcome page.
- Adjust edit cookbook look so there aren't so many buttons flying around.
- Adjust font size for better readability on smaller displays.
- Fix some minor display bugs that appear on smaller displays.

Clean up stylesheets to try to adhere to code style guide.
Merge pull request #396 from opscode/adjust_travis_config

Remove rake spec:javascipts from Travis CI config.
Don't hardcode accounts provider.

Since the accounts controller could potentially be used for other OAuth
providers we shouldn't hardcode the provider in the routes. This changes
the hardcoded github provider to a route parameter :provider.
Merge pull request #394 from opscode/sitemap

Support sitemap generation
Merge pull request #401 from opscode/accounts-provider

Don't hardcode accounts provider.
Render follow/unfollow button via AJAX.

Currently the follow, unfollow actions redirect back. This causes a bug
in Chrome where items in the history stack are duplicated causing the
user to have to click back twice. This changes the follow, unfollow
button to be a remote link with a ajax:success event bound to it that
loads the current view and loads the follow, unfollow button from that
into the dom without a page reload. This doesn't really save on page
load as it's still rendering the entire view but it does fix the bug and
provide a better user experience.
Merge pull request #395 from opscode/responsiveness

Improve responsiveness throughout application
Add user sidebar to manage profile view.

This splits the user show sidebar into a partial that is then used on the
profile edit view. It updates the sidebar to display a different link based on
the controller (view for edit, manage for view). This makes the manage profile
view look similar to the user view.
Merge pull request #398 from opscode/follow-button

Render follow/unfollow button via AJAX.
Manage Profile view cleanup:
- Adds Foundation forms component to common.scss
- Removes padding and border from fieldsets
- Adds button formatting to various secondary functions on Manage Profile tab views
- Overrides default :focus background color and text color on search textfield to maintain search field design
- Adds paragraph to agreements tab under Manage Profile to maintain consistency
- Changes gravatar field to label to maintain text consistency on Edit Profile tab
Manage Profile - Collaborations changes:
- Adds descriptor paragraph for consistency
- Changes list to tabular format for consistency
- Changes Remove function to button
- Changes Remove function wording to 'Remove Myself as a Contributor'
Merge pull request #402 from opscode/manage_profile_update

Update the manage profile layout and styles
clean up supported platforms
add uniqueness guarantees to SupportedPlatform