builder: fix a situation where entrypoint was improperly set in stringform

There are way too many ifs here.  The logic should be that if the user passes json to `entrypoint` then you just set it.  If they don't and it's a string, prepend `sh -c`.  Why do we have these len checks?  I seems like this is not needed at all considering that this func would not be called unless someone set the entrypoint in their dockerfile.