Fix directive advancement

This branch fixes a bug in the directive advancement comment handling code.

The previous code assumed that current_comment would always return an object, but if @comments is empty, or the first comment is a shebang, then a NoMethodError would be thrown because current_comment returns nil.