Hi. "Bad particles" fall into different types. Say you have a lot of ice contamination, or a second molecular species present in your set of boxed particles. These sort of particles can generally be classified in 2-D reasonably well, and then the particles in the identified bad classes discarded. That is the method described in the 2015 tutorial. This method does nothing about getting rid of "pure noise" bad particles, or other types of bad particles with few features in common. In 2-D classification, these particles generally get randomly classified with other views (though turning off the normproj checkbox in 2-D class-averaging can help).
The 2016 summer tutorial (and the new EMAN2.2 tutorial) adds a new method for identifying bad particles, which is basically automatic and gets rid of pretty much any type of bad particle with a high degree of accuracy, UNLESS your particle is too small (<100-200 kDa) or your ice is way too thick. The problem historically with identifying "noise" particles is that as you get closer to focus, the high resolution data gets better, but the particles look more like pure noise. This means that using any single similarity metric to identify bad particles based on weak contrast will start throwing away your best data along with the stronger noise.
The new approach uses a multi-resolution approach (explained in the tutorial) which we have found to do an extremely good job at getting rid of particles which don't contribute to a high resolution refinement, without producing model bias. This approach did not become available until summer, 2016, and was not automated until just before the new 2.2 release version.
Indeed, 2.2 has not been official announced yet because so far we have only managed to get the optimized Linux 64 bit binaries on the website. If you are compiling from source, you can, of course, download from GitHub. We expect to get the rest of the binaries completed over the next week, and then there will be a formal announcement. There are a LOT of improvements since the 2.12 release, which was over a year ago. The new bad particle mechanism is perhaps the least of these.
As to the question about e2ctf_auto, it seems very likely that the version you have on the cluster was checked out from GitHub (unfortunately e2version doesn't work correctly in this case, so we can't tell exactly when that copy was downloaded). It is very likely that this version predates the completion of e2ctf_auto. When you download nightly snapshots, some of the programs you get may still be works-in-progress. We don't hide any of our code, so when someone starts working on a new program it appears almost immediately in github. It won't normally get included in the bin/ folder until it's considered complete, but there will normally be a 'beta testing' period, where the new program is in bin, but not 100% functional yet...