message: [pdsl_model] Introduce experimental caller API
  This is only implemented since we want to use it in a demo contract.
diff: +use pdsl_core::{
  + env::{
  + Env,
  + ContractEnv,
  + srml::{
  + Address,
  + },
  + },
  +};
  /// Provides a safe interface to an environment given a contract state.
  -pub struct ExecutionEnv<S>{
  +pub struct ExecutionEnv<State>{
  /// The contract state.
  - pub state: S,
  + pub state: State,
  +}
  +
  +impl<State> ExecutionEnv<State> {
  + pub fn caller(&self) -> Address {
  + ContractEnv::caller()
  + }
  }
  