CSHARP-586: InsertBatch with empty enumerable

If the enumerable is an ICollection, then test if it's empty before executing the insert operation.  Before this change, the exception "Message contains no documents" is thrown.  See the JIRA issue for details.  Unit tests included.