Disallow free verified course modes

Description

*Background:* The verification workflow assumes that all verified courses will have a price. Free verified course modes cause a 404 when the user attempts to enroll or upgrade.

This pull request adds a validation check to the `CourseMode` model to check that a price has been set if the mode is set to `validation` or `professional`.

*Testing:* Create a `CourseMode` instance in the django admin with mode `verified` and price 0.

Expected: fails with a validation error
Previous behaviour: accepted. Attempt to upgrade to verified course results in 404:

<img width="870" alt="screen shot 2016-01-29 at 13 58 47" src="https://cloud.githubusercontent.com/assets/793379/12669187/1c3097be-c691-11e5-92be-87d34e3d4a52.png">

Click 'Upgrade to Verified':

<img width="632" alt="screen shot 2016-01-29 at 13 59 35" src="https://cloud.githubusercontent.com/assets/793379/12669188/1c362256-c691-11e5-942d-13ae65067e10.png">

Status

Assignee

Simon Chen

Reporter

Edx Admin [Administrator]

Contributor Name

Omar Khan

Repo

edx/edx-platform

Customer

Epic Link

None

OSCM Assignee

None

Story Points

2

Priority

Unset
Configure