fix coordinate frames wheb bool(frame._data) is False

This fixes an odd corner case I encountered: if you have some operation that yields an array of length-0 in a coordinate frame object, the coordinate frame freaks out because it's initialized for the no-data case.  This fixes that and adds a regression test.

cc @taldcroft @astrofrog