There's a surplus of bright junior developers, but few junior positions available. Apprenticeships provide needed opportunities and foster healthy, learning-focused cultures. This is a step-by-step guide to build your own.