title: spark-submit --keytab option does not copy the file to executors
body: <p>In my case I am using Spark (2.1.1) and for the processing I need to connect to Kafka (using kerberos, therefore a keytab). </p>
  
  <p>When submitting the job I can pass the keytab with --keytab and --principal options. The main drawback is that the keytab will no be send to the distributed cache (or at least be available to the executors) so it will fail. </p>
  
  <pre><code>Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
  ...
  Caused by: org.apache.kafka.common.KafkaException: javax.security.auth.login.LoginException: Could not login: the client is being asked for a password, but the Kafka client code does not currently support obtaining a password from the user. not available to garner`  authentication information from the user
  </code></pre>
  
  <p>If I try passing it also in --files it works (version 2.1.0) but in this latest version (2.1.1) it is not allowed because it failes due to:</p>
  
  <pre><code>Exception in thread "main" java.lang.IllegalArgumentException: Attempt to add (file:keytab.keytab) multiple times to the distributed cache.
  </code></pre>
  
  <p>Any tips?</p>