allow to intercept line items and request details

allows to change the paypal request by overriding the methods in a controller decorator. e.g. to allow digital items.

Fixes #86
Clarify installation instructions
don't error out, if address page was missing

Fixes #72

Conflicts:
	app/controllers/spree/paypal_controller.rb
Fix repo url in readme
Fix "Save & Continue" + Payment Profiles.

Previously, the save & continue button would not be removed when
combined with certain payment profile options.

Fixes #102
Re-factor JS to add listenable events.

hideSaveAndContinue and showSaveAndContinue are now events which we can
listen on to trigger alternate logic.

From #102
Update README.md
Merge pull request #104 from adlersantos/patch-1

corrected sample code under Landing Page section of README.md
clear order_id session (mirror CheckoutController)

I noticed a lack of symmetry between the update method in Spree::CheckoutController and here.
https://github.com/spree/spree/pull/2557

More generally the problem is that we have duplication of the success code within Paypal Express and within Spree Core code. This has caused problems in the past. A possible refactor would be to slap the four lines of completion code (e.g. setting the flash ecommerce) into a Spree Core module (exiting or new) that gets pulled into this and checkout controller.

Fixes #64
Use discounted shipping cost instead of ship_cost.

PayPal will reject orders which do not have their totals line up.  If a
Free Shipping promotion is applied to an order, the initial shipping
cost will be used and the free shipping promotion will not be accounted
for.

This will cause the order to get rejected by PayPal because the order
total doesn't match the sum of the line items.

Discounted ship cost should be the correct value to use here.

Fixes #99
Fix bundle

Fixes:
Bundler could not find compatible versions for gem "sprockets"
token is now guest_token
Fix specs

* Fix font-awesome issue
* The source of a refund payment is now the original payment.
Add test for line item adjustments

Fixes #101
Don't ask for shipping information

Spree gathers shipping in the address step, so it is unnecessary to
request this from paypal. This removes the prompt for a shipping address
in the paypal interface, which should be a better customer experience.

Fixes #109
Workaround for #103
Add ssl_allowed to PaypalController

Previously, when `redirect_https_to_http` was enabled, this would
redirect (or issue 426) when requested with SSL. Obviously SSL should be
allowed (if not enforced).

Fixes #105
Fixes #108
Merge pull request #107 from jhawthorn/spree-2-3-fixes

Some fixes for current spree master
Merge pull request #93 from alepore/patch-1

Fix repo url in readme