Do not attach anything to the release command by default.

Detect the asset info to upload via the `--attach` flag.
Rewrite release command in a modular way
Check existence of release before creating it
Don’t fail asset upload process if one of them fails

Print out aggregate error of asset upload instead of failing the whole upload process if one of them fails
Support multiple `-a` arguments for release command
Clean up release command help
Make release note comment character configurable
Merge pull request #740 from github/gh-release-improvements

Improve creating of releases