Branch Strategy and Release Versioning

Keep main releasable, make releases predictable, and avoid versioning chaos