Changed the List objects to IEnumerables

Changing to IEnumerables reduces some superfluous method calls to create
the refinements/ranges. For example, keywords.Select(x =>
x.ID.ToString()) instead of keywords.Select(x =>
x.ID.ToString()).ToList()
Merge branch 'refs/heads/type-relaxing'