Adding update of delegation tokens

This change would enable user to schedule task for updating delegation tokens periodically (e.g. HBase delegation token). Also, Weave internally uses it to update HDFS delegation token.

The change mainly involves adding a `scheduleSecureStoreUpdate` method in `WeaveRunner`, implementation of it in `YarnWeaveRunnerService`, and new interfaces for that purpose. Also there are refactoring to make the update logic in AM and Runnables happened in some common code base.