Implement one associate belongs to #2006

Open
lunny wants to merge 11 commits from lunny/belongs_to2 into master