Feature changes --
	- When program is being announced, allow the user to specify locality, as well as timings for the program
	- Allowing user to specify custom payment amount for venue
	- Teacher will now specify availability slot independent of the program type
	- The timing slots have been modified (seed data change)
	- if a part-time teacher has to be enabled as co-teacher
		-- the part_time_co_teacher flag should be set <-- one time, training dept
		-- now the center scheduler can add the person as co-teacher for classes happening in the center, for program where co-teacher is allowed
	- if a part-time teacher has to be scheduled for ashram program
		-- the part_time_co_teacher flag should be set <-- one time, training dept
		-- ashram has to be added as a center to the teacher centers <-- one time, super-admin
		-- ashram scheduler should be enabled as full_time_teacher_scheduler for the zone - with which teacher is associated <-- one time, super-admin
		-- teacher has pubish schedule (available for all slots in a day) for ashram center (same as how he does for other centers).
	- Once program ready for announcement, you cannot add more venue to the program.
	- Cleaning up the "IS NULL" logic

Schema changes --
    add_column :program_types, :session_duration, :integer
    add_column :venue_schedules, :payment, :integer
    remove_column :teacher_schedules, :program_type_id
	add_column :teachers, part_time_co_teacher, :boolean, :default => false
    add_column :programs, :announced_locality, :string
    add_column :programs, :announced_timing, :string

Seed data changes --
. Timing slots have been modified to cover almost the whole day from 6 am to 10 pm
Merge remote-tracking branch 'origin/amit' into amit

Conflicts:
	app/models/program_teacher_schedule.rb
	app/models/teacher.rb
	app/models/teacher_schedule.rb
Merge branch 'master' into amit
Fixing issue with toggle dropdown in navbar. Changing it to hover
1. Fixing issue with toggle dropdown in other places. Changing it to hover.
2. Adding basic infrastructure for teacher additional_comments
3. fixing the colasce issue - TODO - verify whether the sql syntax works for other dbs
Fixing misc bug with center_ids
Showing additional comments when teacher scheduler adds a teacher to a program.
adding escape_javascript when displaying additional comments
Reverting back some of changes done in master branch "Jun 24, 2014" check-in for teacher.rb. Now super_admin can perform the same functionality as teacher_training_department for teachers.
1. removed full_time_teacher_scheduler
2. allowing teacher to be attached to multiple zones
3. allowing teacher to be defined as co-teacher for specific program_types
4. removing the teacher state from the admin panel. Disallowing teacher state to be updated from Show Teacher page.
5. adding infra-structure to allow addition of other teacher-types
1. Adding hall_teacher, organizing_teacher and initiation_teacher to both program_types, as well as teachers. These will work same way as the earlier add co_teacher option

TODO - there is inconsistency in way 0 and -1 values are handled for minimum_no_of_x_teachers as added from program_types admin panel. To fix that.
Fixing the comments for the minimum number of teacher in program_type admin.

Also, wrt last commit message, there is inconsistency in way 0 and -1 values are handled for minimum_no_of_x_teachers as added from program_types admin panel, so nothing to fix.

This commit completes the changes corresponding to different teacher types
Merge branch 'master' into amit

Conflicts:
	app/models/admin_ability.rb
	app/models/teacher.rb
a. Given a program, allowing teacher to be associated to specific timings of a program.
b. Add field timings_str to teacher_schedule table, to de-couple it from program's display_str

Pending -
1. Need to do Point a. (above) given a teacher.
2. Need to update teacher_schedule timings_str depending upon how user fills the announced_timings for the program, when the program is getting announced.
Merge remote-tracking branch 'origin/amit' into amit
a. Given a teacher, allowing program to be associated to specific timings available of a teacher.
b. Rename field timings_str  to timing_str for teacher_schedule table

Pending -
1. Need to update teacher_schedule timings_str depending upon how user fills the announced_timings for the program, when the program is getting announced.
2. Prevent teacher from being scheduled for partial-day for a "full day" program
1. Updating teacher_schedule timings_str depending upon how user fills the announced_timings for the program, when the program is getting announced.
2. If program is "full-day" then showing a teacher as blockable only if the teacher is available for the full-day.

Known Issues - TODO -
A. Fix bug in 1. above viz -- If a teacher is added to the program after it is announced, the teacher timings is not getting updated to program timings.
B. Fix bug in 2. above viz -- If a program is full-day, a teacher can still be scheduled for specific sessions across all days. Subsquently any attempt to add the same teacher for more sessions will fail since the teacher will not show in the blockable teacher list.
Added mapping for data load
Changed after merging amit with master
not needed