Incorporated all changes that were made in SBA V1.5.3 for ZC 1.5.1.

This did include revision of determining previously ordered products that
have attributes and are tracked by SBA.
Wanted to get some of the testing started.  Still have some delete variant(s) based on other actions to do in attributes_controller; however, need to know if have missed anything in the rest of the code.
After expanding this code a little (here), this should be a break condition.  Otherwise multiple iterations of the error message might be displayed.  If either that is desired, or the number of "collisions" is desired to be displayed, then additional modification would be necessary in this area to account for that.  As it looks at the moment though the desire is to display the error message one time and as all of the "error" variables are set upon first entry, there is no reason to enter again and therefore to break out of the while loop.