Thrift change. Added ability to set arbitrary attributes on a job.  Note: some whitespace changes snuck in due to trimming tabs/whitespace in editor.