style: prefer key-value style header insertion

The argument project_id will always be copied, but it's OK
since we don't use this constructor very frequently.  This
change eliminate the need of instantiating some std::string
related templates.
feat(demo): upload bundle in another thread