Merge Observable into Signal and reorganize specs

Signal and Observable are the same concept, and I think the "signal" is
a more interesting, less Java-esque, name for the concept.