Think of HealthKit as a typical 1.0 release that doesn’t try to do everything, but rather helps Apple do a few things well, mostly just the fitness scenarios that are part of Apple Watch. The current type identifiers are hard-coded for: body measurements, fitness (steps, flights climbed, etc.), vital signs (blood pressure, temp, etc.), instrumentation results (blood glucose, alcohol content, etc.), nutrition (fat, cholesterol, vitamins, etc.), a sleep placeholder (just start/end), some misc identifiers, and that’s it. There are also WorkoutActivity types for dozens of specific exercise sports like lacrosse, water polo, even fishing and yoga. There is a built-in identifier called “NikeFuel”, to give you an idea how app-specific the 1.0 API is.
The inability to create custom types is probably by design in 1.0: it greatly simplifies the Health app setup process for users.
Lack of timezone support is just not a priority for the first release because Apple probably figures any app that cares (e.g sleep analysis) will do its own analysis taking timezones into account, and then present cumulative summaries to the other apps (e.g. number of minutes asleep).
I doubt they will release a cloud component anytime soon. Right now it doesn’t even sync across devices because for privacy reasons it never goes off the device except in encrypted backups. I’m not saying they won’t add support for timezone or custom types, but they’re probably not in a hurry.