add more functions for supply point access on commtrack user

and use fewer db calls.

use iter_docs for location call too
selectively sync locations per user instead of syncing the whole fixture

http://manage.dimagi.com/default.asp?105091

basically, just use the user's linked locations to generate a base set
that includes all the parent chains, and use this set instead of the
database to generate the fixture.
Merge pull request #3447 from dimagi/selective-location-sync

selectively sync locations per user instead of syncing the whole fixture