COOK-2419 Freeze constants and only defined undefined constants

Ticket: [COOK-2419](http://tickets.opscode.com/browse/COOK-2419)

The Windows cookbook uses class-level constants. If the cookbook is loaded twice, it throws errors indicating the constant has already been defined (as it should). The cookbook should only define the constant if it doesn't already exist.