What are code editors and how do they provide developers with tools for writing and managing source code efficiently, when should programmers select a code editor for their workflow, and how can they improve productivity, readability, and overall coding experience?