Graphene as a diffusion barrier for Al and Ni/Au contacts on silicon