Only require Sku name and retail price when it occurs on a Product's default Sku, tighten up validation interfaces and enhance some validation Javadocs