FdbTransaction.GetBatchValuesCoreAsync does not need to be marked async

- Return the result of Task.WhenAll directly
Optimized FdbTuple.BatchPack

- Use the cached serializer lambda, instead of calling GetSerializer<T> everytime
Added Fdb.SystemKeys class that holds common system keys (/conf, /keyServers, /serverList, etc.)

- db.GetConfigParameter("foo") will return the value of "\xFF/conf/foo"