Results 3 issues of Jim Horng

It's kind of large commit, since the small commits are hard to resolve merge conflicts while creating this PR. ### Give user 3 options to listen for callbacks for async...

目前似乎是以"職缺"為單位的留言,如有"公司"為單位將更有彈性 :)

Pending
Feature

Apple had marked command:1 format(which PyAPNs is currently supported) as [legacy](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/LegacyFormat.html#//apple_ref/doc/uid/TP40008194-CH105-SW1) and encourage to use command:2 format, see [doc](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW4)