Empty list acl param should be consistent between public methods

In ensure_path() you can pass acl=[] and it is set to default_acl. Whereas in
create(), acl=None gets you default_acl but acl=[] gets you an InvalidACLError.

Here is the new test case for acl=[] without the change in create():

```
$ bin/nosetests -s -d kazoo.tests.test_client:TestClient.test_create_acl_empty_list

ERROR: test_create_acl_empty_list (kazoo.tests.test_client.TestClient)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "../kazoo/tests/test_client.py", line 455, in test_create_acl_empty_list
    client.create("/1", acl=[])
  File "../kazoo/client.py", line 775, in create
    sequence=sequence, makepath=makepath).get()
  File "../kazoo/handlers/threading.py", line 107, in get
    raise self._exception
InvalidACLError: ((), {})
```

And with the change in create() (i.e.: do as ensure_path() does):

```
$ bin/nosetests -s -d kazoo.tests.test_client:TestClient.test_create_acl_empty_list
.
----------------------------------------------------------------------
Ran 1 test in 2.112s

OK
```

Signed-off-by: Raul Gutierrez S <rgs@itevenworks.net>