TelcoFog: A Unified Flexible Fog and Cloud Computing Architecture for 5G Networks