message: add wrapper to defined something linked to an account,change,index level thing
diff: use hdpayload::{Path};
  use std::{fmt, result};
  +use std::ops::Deref;
  use serde;
  /// the BIP44 derivation path has a specific length
  @@ -74,7 +75,7 @@ impl fmt::Display for Error {
  pub type Result<T> = result::Result<T, Error>;
  -#[derive(Clone, Copy, Debug, PartialEq, Eq)]
  +#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
  pub struct Account(u32);
  impl Account {
  pub fn new(account: u32) -> Result<Self> {
  @@ -356,3 +357,24 @@ impl Addressing {
  Ok(v)
  }
  }
  +
  +#[derive(Debug, Clone, PartialEq, Eq)]
  +pub struct AccountLevel<T>(pub T);
  +impl <T> Deref for AccountLevel<T> {
  + type Target = T;
  + fn deref(&self) -> &T { &self.0 }
  +}
  +
  +#[derive(Debug, Clone, PartialEq, Eq)]
  +pub struct ChangeLevel<T>(pub T);
  +impl <T> Deref for ChangeLevel<T> {
  + type Target = T;
  + fn deref(&self) -> &T { &self.0 }
  +}
  +
  +#[derive(Debug, Clone, PartialEq, Eq)]
  +pub struct IndexLevel<T>(pub T);
  +impl <T> Deref for IndexLevel<T> {
  + type Target = T;
  + fn deref(&self) -> &T { &self.0 }
  +}
  