Single and Double Symbol Decodable Space-Time Block Codes: Space-time block codes amenable to fast ML decoding