REV: improve TestCaseRun.get_bug* methods

simplify and save unnecessary SQL queries

Change-Id: Ie3f2ea8fdaad35d39ea686f970474a82c1759401
REV: Using iterator instead of loading whole data into memory

[TCMS-309] Use iterator when loop queryset in xmlrpc

Change-Id: Ia864a120ff264ecb22a2872e3b215a6e204957bb
FIX: bug 1101419

Bug 1101419 - [test case]Click 'Testing - Search cases' link to enter search
cases page, the search result does not display comment detail.

Change-Id: Ib0cd0e7bf6b45bab868886ff9c7f111bd51cac96
REV: refactor TestCase.calculate_*_estimated_time

Only get necessary estimated_time field.

Change-Id: I49574db10f10eca0d643589e4638a397623479bc
FIX: bug 902891

Support to set empty string as Notes by TestCase.update()

Change-Id: I0d6763739016d3464199cfdff49f0788d088dec8
REV: TCMS-323

Provide Product.{add,update}_component() methods

Change-Id: I7eebd64a4f7454a895d6d6740cb79c7cd249a5be
FIX: bugfix 1038546, 1098996, 1099848

Bug 1038546 - [advance search]Use many components to search a case, the search result list show duplicate cases.
Bug 1098996 - [advance search]Input two tags which separate by comma to search plan, the search result display duplicate plan.
Bug 1099848 - [advance search]Input two Actual Testers which separate by comma to search run, the search result display duplicate run.

Add distinct rules for TestPlan, TestCase, TestRun m2m fields. Specially, real tester of TestCase will occur the same bug, add too.

Change-Id: I77bbfbca216a96d852d0ddc1125822eef3165ab6