Improve performance of NpgsqlParameterCollection GetValue by using a dictionary lookup instead of scanning the parameter list.
Performance tests for NpgsqlParameterCollection GetValue
NpgsqlParameterCollection

Remove IList<NpgsqlParameter> implementation.
Change name lookup behavior to match SqlParameterCollection: Always return the first match.
Optimize the non-indexed name lookup scan.
Provide a more descriptive error on name lookup failure.
Invalidate hash lookups in a slightly more self-documenting way, and hopefully in all required spots (previous commit had missed one spot I think).