berksfile.lock not honored for transitive dependencies

I have been testing berkshelf 3.0.0.beta4.  I've noticed that the behavior described by issue #815 still appears to be a problem.

For example, if my local cookbook cache (~/.berkshelf/cookbooks) is empty, and I have this berksfile:

```
source 'http://api.berkshelf.com'

cookbook 'java'
```

and this berksfile.lock:

```
{
  "dependencies": {
    "java": {
      "locked_version": "1.15.2"
    },
    "windows": {
      "locked_version": "1.10.0"
    },
    "aws": {
      "locked_version": "0.101.6"
    },
    "chef_handler": {
      "locked_version": "1.1.2"
    }
  }
}
```

when I run `berks install`,  then I get this output:

```
building universe...
Installing java (1.15.2) from http://cookbooks.opscode.com/api/v1 (via api.berkshelf.com)
Installing windows (1.11.0) from http://cookbooks.opscode.com/api/v1 (via api.berkshelf.com)
Installing aws (1.0.0) from http://cookbooks.opscode.com/api/v1 (via api.berkshelf.com)
Installing chef_handler (1.1.4) from http://cookbooks.opscode.com/api/v1 (via api.berkshelf.com)
```

and the lock file is changed to this:

```
{
  "dependencies": {
    "java": {
      "locked_version": "1.15.2"
    },
    "windows": {
      "locked_version": "1.11.0"
    },
    "aws": {
      "locked_version": "1.0.0"
    },
    "chef_handler": {
      "locked_version": "1.1.4"
    }
  }
}
```

(Issue #908 also mentions that the lock file is not honored, but it mentions berkshelf 2, and doesn't specifically mention transitive dependencies).