make charset uppercase
[imp] add IdRev trait

By extending this trait, people get all the advantages of automatic
revision management without the cost of reflective calls