STORM-346: added AutoHDFS class that will get hdfs delegation tokens on behalf of users, push it to workers and renew the delegation tokens automatically.

I have a few questions:
* Shouldn't the plugin be cleared up as soon as the scope of submit topology is over?
* If we generate these instances at startup then it means anyone wanting to use it will have to change the nimbus config and restart nimbus. Right now the restart is required because renewers are designed that way. I could follow that pattern however I think this approach is better because no restart is required as long as all the hdfs configuration files are already in the class path. 

If you like to stick to this approach I can change the code so the list of plugins are loaded at startup and stored in nimbus data structure and their populateCred method is invoked as part of submit topology. 

We need some way of identifying who the topology submitter is. Without that information we don't know for whom are we getting the creds. I can pass just the topology config  and I think any future implementations of the interface would also need that. I could make the config immutable thus ensuring the user code can not modify it, does that work ?