Handle exceptions during purchase flow

If user leaves application (press home button, etc) during purchase
flow, there will be a null exception.
The may causes by a duplicated call to onCreate() function.
Arranged code and fixed small issues in StoreController
New events
Improvements and optimizations in StoreController:
1. Fixed Sync issues.
2. Helper is being started/killed before/after every operation.
3. Added functions to start/stop helper in background. This keeps it in the background and doesn't kill it between operations.
4. No need for StoreOpening and StoreClosing anymore.
Fixed example project and README.md to support new changes in StoreController
README.md supporting new changes in StoreController
handling purchase-state 1 or 2 as refund (1 is cancelled)
fixed function name
thanks @HolymarsHsieh
logDebug should be false by default
Merge from upstreams