Fixes for issue #231

See: https://github.com/npgsql/Npgsql/issues/231

Fixed the issue by implementing proper clean up in the Clear() method.
Cleaned up the Remove methods in NpgsqlParameterCollection as they
re-implemented the same code 6 times (Remove and RemoveAt+overloads).
Now all end up in 1 Remove method which performs the remove and the
parameter cleanup. Easier to maintain ;)
Added a test to verify my fix. Please verify the Remove changes as I
can't run the rest of the tests.