Fixed UniSubURLValidator to load the Site object lazily

This is needed to make the unittests work
Added model class that tracks videos moving from team to team
Fixed attribute error in the billing test
BillingReport refactoring

Added a new billing report types for approval/delivery teams.  It
still needs to be implemented.  Refactored the process() method and
split it up into row generation and CSV file formatting.  Refactored
the tests a bit as well.
Couple of speedups for the unittests

Better mocking for celery tasks.  For example sometimes we call
update_one_team_video and sometimes we call
update_one_team_video.delay.  For both of those we want to mock out
the call.

Mock out resetting the widget video cache.

These two changes speed up creating team videos and moving them to a new
team by over 10x.
Implemented billing report for approval-type teams

Fixed BillingReport.__unicode__ when the primary key is not set.
Made approval billing reports not select rejected approval tasks

Added tasks.complete_approved/complete_rejected.  I keep writing these
methods in the unittests, so we might as well add them to the Task
class.  Made Task.complete() return the review task for rejected
approval tasks.
Remove subtitler/reviewer replace with approver for billing reports

Janet points out that we'll have the subtitler/reviewer in the report
to pay people, so we don't need it here.

Fixed code that calculates names to use unicode() instead of
full_name.  This should result in "<first_name> <last_name>".
Added Translation? column to the approval billing reports.

Changed row data so we use booleans for boolean columns.  The CSV
writer can handle those fine.
Renamed billing record types and removed the old type

In the UI we now call them "Crowd sourced" and "Professional
services".  In the backend we call them TYPE_BILLING_RECORD and
TYPE_APPROVAL.

Fixed a bug with the TYPE_BILLING_RECORD reports, were we weren't
generating minutes correctly.
Added billing type to pay users who perform subtitling/review work
Fixed attribute error with the billing form
Merge branch 'staging' into newbilling

Conflicts:
	utils/test_utils.py
Handle running approval for users tasks without review enabled (#890)
Encode as utf-8 user names before writing them to the CSV file (#890)

This fixes error #4 on janet's list.
Update tests for billing changes.

Took out old model tests.
Updated new model name to Crowd sourced
Added tests for translators and professional reports, including tests for
non-ascii usernames and no-review approval teams.
refs 890: fixed unicode error for body
update selenium test for unicode notes
Merge pull request #947 from pculture/newbilling

Newbilling