added CreatePlatformEndpoint function, and updated Publish to use TargetArn which is more flexible than using TopicArn