Artifact Store Feature

Following functionality should be implemented:

## Artifact Store

Marathon needs to know where to store the artifacts.
The url to the aritfact store is given as command line parameter on start.
Example: --artifact_store hdfs://my.node/directory/to/store

## Artifact REST endpoint

The artifact store can be accessed and managed via http.
GET /v2/artifacts/{path} Download artifact with given path.
POST /v2/artifacts/{path} Upload artifact with given path in the artifact store. Return the complete URL of the artifact in the artifact store in the location header.
POST /v2/artifacts Upload artifact. A name is generated by the server. Return the complete URL of the artifact in the artifact store in the location header.
DELETE /v2/artifacts/{path} Delete artifact with given path.

## Automatic Artifact Resolution

Marathon can use the artifact store to automatically resolve certain artifacts.
The AppDefinition is extended with Parameter resolveUrls: []
Those urls get 
* resolved 
* stored in the artifact store
* the artifact store urls are added to uris property
as part of the deployment.
This should likely be a PUT instead of a POST. POST is used when creating a new resource in a collection.

See [REST applied to web services](https://en.wikipedia.org/wiki/Representational_state_transfer#Applied_to_web_services) for an Element URI:
* **POST**: Not generally used. Treat the addressed member as a collection in its own right and create a new entry in it.
* **PUT**: Replace the addressed member of the collection, or if it doesn't exist, create it.