Array text encoding

There's lots of room for improvement/optimization, but at least it works.
Fixed NpgsqlDataReader.FieldCount

Now properly returns 0 when no row has been read.
FieldType for arrays is now Array

NpgsqlDataReader.GetFieldType() and GetProviderSpecificFieldType() now return Array for arrays.
Previously they returned int[] even for multidimensional arrays, which seems problematic (Array
is at least a superclass of all arrays). Making these methods return the actual dimensioned
type e.g. (int[][]) would be very complicated in sequential mode (part of the column is
already consumed).