Delphi XE compatibility

In XE GetDeclaredFields returns nil for TRttiRecordType but GetFields works for all Delphi versions (the GetDeclaredXXX methods ignore inheritance which does not matter for records).

Also I removed the temp buffer for creating TValue instances. TValue internally allocates memory for the wrapped record and as we start with an empty one we can pass nil.