Basically implemented: PushPayload JSON.
1. Finished all JSON serialization.
2. Unit tests for JSON serialization.
3. HTTP requesting.
TODO: feature tests.
Fix: notification can alert to all three platforms.
Refine: check basic params.
Fix check params.
Rename Optional to Options.
Merge branch 'v30' into dev
1. Change mpns to winphone
2. Fix - platform is Required
3. Fix - payload to String bug
4. add and fix more tests.
Changed to mpns notification.
Change mpns to winphone  even for notification - should be easier to understand
Improve example .
Bug fix: handle new API response.
Fix bug: response transformation.
Adding tests.
Adding tests.
Add more tests.
Refactoring: support number/boolean extra;
more tests.
message to support number/boolean extra.
Refactoring:
1) use composite to replace inherit for push client;
2) prepare for adding more http client implementaiton.
Generate sendno by default if not being set  - for easy to debug.
1. Refactoring: add base test class
2. Beginning to add local mock webserver