Support 'local' bloodhound option as a function that returns an array

This addresses #485.