Added MaxBatchCount, MaxDocumentSize, MaxMessageSize and MaxWireDocumentSize to ServerDescription. Refactored ServerDescription to use new Optional<T> class and single With method.