Constructions and bounds for subspace codes