integrated green-future class as superclass of cl-async-future:future. everything works great, provided the futures used with green threads are all green-future classes, which is hard to do since the future class is so engrained into the cl-async-future macros. next up, im going to try and integrate cl-async-future without a gree-future class so mitigate these problems.
finished future conversion

green-threads now fully uses cl-async-future's future class. things like
queuing on a future are implemented via `attach`, which seems to work
like a charm, as opposed to having a separate `complete-future`
function (can just use `finish` now).

there are some API chnages:

* RENAME: complete-future    =>  finish
* RENAME: future-complete-p  =>  future-finished-p

all functions exported by the old api are exported in the new one,
meaning that you can :use green-threads without having to also :use
cl-async-future.

the benefit of using cl-async-futures comes in when nesting is involved,
since a future finished with another future will *forward* to the new
future instead of firing off the attached callbacks, meaning many levels
deep of nested futures can exist until an actual value is returned (at
which point the green thread would continue):

(defun fdelay (val)
  (let ((future (make-future)))
    (cl-async:delay (lambda () (finish future val)) :time 1)
    future))

(cl-async:start-event-loop
  (lambda ()
    (with-green-thread
      (let ((f (alet ((x (fdelay 4)))
                 (alet ((y (fdelay (+ x 5))))
                               (+ y 3)))))
       (format t "Start waiting.~%")
       (format t "Final value: ~a~%" (wait-on f))))))

This will print:
  Start waiting.
  ;; 2s pause
  Final value: 12

so while many layers deep of async nesting can be done, the thread will
only continue once the future it's given returns a value (not another
future).

also, while cl-async-future integrates nicely with cl-async, it is a
completely standalone library written in pure-lisp, so nobody will have
to endure the cl-async library dependencies just to use it.
adding backwards/forwards compatibility with cl-async-future versions