DynamoDB Projection with NonEmptyKeys is used only when the type is INCLUDE.

Hello, I've fixed a small bug about DynamoDB Projection. `NonEmptyKeys` is used only when the ProjectionType is `INCLUDE`, so I've got the following error when I tried to use `ProjectionType.All` like `Projection(ProjectionType.All)`.

```
No attributes should be specified to be projected unless projection type is INCLUDE (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: 23cc9ff7-82c8-4b07-9d14-e0ac825fc0f8)
```

#### Issue Type:

Bug fix

#### Summary: 
 - Projection with NonEmptyKeys is used only when the type is INCLUDE.

#### Reference

http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Projection.html

Thank you.
How about adding warn logging for wrong usage?

```scala
if (projectionType == ProjectionType.Include) {
  setNonKeyAttributes(nonKeyAttributes.asJava)
} else if (!nonKeyAttributes.isEmpty) {
  logger.warn("You shouldn't specify `nonKeyAttributes` when ProjectionType is other than INCLUDE.");
}
```