Merge pull request #44 from blomquisg/master

Provider#connect method with useful error and cleanup require_provider_authentication
Added login, logout routes, to switch provider do the logout (erase current provider session) and redirect to login page
Provider select works with or without javascript

In sessions#new the provider select form is submitted as javascript by default
using rails's remote => true. The providers#select action is executed and only the
apropriate provider_login_form is rendered. (No page reload, just the partial.)
If javascript is off, the submit button appears next to provider select, and form
is submitted normally and providers#select redirects to login page
Merge pull request #45 from jtomasek/provider_select

Provider select tweaks
Added valid_credentials for authentication, renamed connect to connect!
Merge pull request #46 from humaton/connection

Added valid_credentials for authentication, renamed connect to connect!
added base conductor requires and modules, added conductor to providers.yml.default
Merge pull request #48 from tzumainn/master

added base conductor requires and modules, added conductor to providers.yml.default
Added connect! and valid_credentials to base provider class
Merge pull request #49 from humaton/added_missing_methods_base_provider

Added connect! and valid_credentials to base provider class
added conductor client
added simplecov for generating code coverage
Merge pull request #51 from humaton/codecoverage

added simplecov for generating code coverage
Adding current_provider logic to model layer
Update provider base object with not_implemented errors
Update connect! method to read instance var for credentials

* added "credentials" instance var to Providers
    * now the current_provider can store the current credentials and be used for
      on-demand connections in the model layer
* updated "require_provider_authentcation" before_filter to set the current
  credentials on the current_provider in Provider thread local storage
* created mock_connection object to handle mock API operations
* updated mock implementation to reflect changes
Rename Provider.current_provider to Provider.current
Remove presenter logic from controllers, helpers, and views
fixup! Remove presenter logic from controllers, helpers, and views
Add provider_model mixin to handle provider-specific model object lookups

Winged Monkey supports common operations across multiple providers.  We're
abstracting out the common operations into a provider_model object and allowing
provider-specific models to handle the provider-specific logic.

The provider_model mixin contains logic to open a connection to a provider,
lookup a provider-specific model object, and common model operations like
listing all objects, finding a specific object and creating a new object.