slt-release-finish,start: gitflow release tools

These tools implement the gitflow release process, auto-generating the
changelog and setting the npm package version.

/to @rmg @bajtos 

I needed to cut a strong-supervisor release that was not from the head of origin/master, unsupported by hubflow, so I finally replaced it with a few lines of shell scripts, as threatened.
I can add npm publish. Do you really want to publish without doing at least a manual check on what is getting published?

Why do you test AFTER running the release tool? 
Shouldn't you test before doing the release? If the test fails, you are in trouble, you'll have a fair amount of manual git work to reset your production branch, and if the origin was updated, to force-push your local branches to the server.

The reason there are two tools now, is so you can do the start, do whatever checks you would like (such as npm test, or confirming git pack isn't pulling in files you don't want, whatever), and then you can do a finish.

By the same token, if the tool manually npm publishes, and there is some problem with the published package, you can't take it back, npm publish -f is gone, you will have to re-do the release with the next patch number, so its pretty committing.

That said, I'll add the publish, push, and switch to master, as well as some console output describing what git flow is.