#938. If Money.ZERO is being used to add or subtract, then the currency
of the Money object being operated on is used.  The default currency
that might be associated with Money.ZERO is not used, or ignored, when
doing money additions or subtractions.
#938. Fixed add method so that it works if taking in a negative number.
#900. Ensuring that a call to CustomerState.getCustomer() returns null
if no BroadleafRequestContext is set.
#900. Doing the same thing with CartState that we did with
CustomerState.  A call to getCart() will return null rather than
throwing a NPE if outside of a web request, or if outside of the
BroadleafRequestFilter.
#764 - Add method to site to determine if it was created from a template
Merge branch 'BroadleafCommerce-3.0.x' into BroadleafCommerce-3.1.x

Conflicts:
	core/broadleaf-profile-web/src/main/java/org/broadleafcommerce/profile/web/core/CustomerState.java