Treat deferred error in deferred:sync!

With this change, `deferred:sync!` does not freeze Emacs when error is
occurred in given deferred chain.  It can be checked by the following
code:

```cl
(deferred:sync!
  (deferred:next
    (lambda () (error "this is uncaught error"))))
```
Treat process-related vars in deferred
Add Makefile to run tests
cc:test-all raises error when failed now
Add .travis.yml
Run test with compiled and non-complied version
Remove "-l concurrent.el" (now `make compile test` fails)
Fix: Invalid function: cc:dataflow-channel

Prior to this patch, `make clean compile test` fails even before
running tests with error message:

    Invalid function: cc:dataflow-channel

This is because the macro `cc:dataflow-test` is used in
`cc:dataflow-environment` which is prior to definition of
`cc:dataflow-test`.  To solve this, `(defmacro cc:dataflow-channel ...)`
is moved prior to `cc:dataflow-environment`.  For consistency, other
internal utility macros are moved alongside with it too.
Preserve global variables for url-retrieve

url-retrieve uses global variables to define its behaviour.
It looks like at least in emacs 24 those variables can get reset
before deferred url-retrieve is executed.
This patch saves the states of those variables into
lexically-scoped variable and restores them right before
url-retrive is called.

With this ptch things like following work as expected:
    (let* ((url-request-method "POST")
           (url-request-extra-headers `(("Authorization" . ,auth))))
	  (deferred:$
	    (deferred:url-retrieve url)
	    (deferred:nextc it
	      (lambda (buf)
		(kill-buffer buf)))))

(similar code is used in butler package)
deferred:url-post: use deferred:url-retrieve

Make deferred:url-post use deferred:url-retrieve to properly
set global vars that are used by url package
Change deferred:url-post so it doesn't remove all extra headers
possibly set by caller
Add support for 'silent' 'inhibit-cookies' params

deferred:url-retrive now supports 'silent' and 'inhibit-cookies'.
deferred:url-post, deferred:url-get support them as well.
Update doc for deferred::url-retrieve
Fixed typo in install expression.
Merge pull request #23 from kiyoka/kiyoka/fix-install-expression

Fixed typo in install expression.
Merge pull request #21 from mar-kolya/master

Mprovements to url related functions
Merge pull request #15 from tkf/deferred-sync-error

Treat deferred error in deferred:sync!
Merge pull request #17 from tkf/process-environment

Treat process-related variables in deferred.el
Merge pull request #19 from tkf/travis

Run test-concurrent.el in Travis
Merge branch 'move-around-macros-in-concurrent' of https://github.com/tkf/emacs-deferred into tkf-move-around-macros-in-concurrent
fixed: the failure of semaphore2 test