Move AlignHash cop logic to top of file

This is a purely superficial change, moving the cop's public interface and logic to the top of the file and the inner utility classes to the bottom. IMO this makes the code more accessible.