contracts calls and transactions available from javascript

- javascript files are now minified and built using gulp and browserify (thanks @cubedro), see [ethereum.js](https://github.com/debris/ethereum.js)
- creating solidity contracts is now available from javascript [example](https://github.com/debris/ethereum.js/blob/master/example/contract.html)
- contract calls and transactions are simplified: 
```javascript```
var desc =  [{
        "name": "multiply",
        "inputs": [
        {
            "name": "a",
            "type": "uint256"
        }
        ],
        "outputs": [
        {
            "name": "d",
            "type": "uint256"
        }
        ]
    }];

var contract = web3.contract(address, desc);
contract.multiply(param).call().then(function(res) {
    document.getElementById('result').innerText = res[0];
});
```
- tests for contract call and transact
- `eth_transact` && `eth_call` do not accept data as an array any more, see [javascript wiki page](https://github.com/ethereum/wiki/wiki/JavaScript-API#eth)
- new `eth_storageAt(_address)` available. It dumps contract storage as json object
- removed `eth_compile` from jsonrpc, use `eth_lll` or `eth_solidity` instead
- added `eth_compilers`, it returns array of supported compilers, for cpp its `["lll", "solidity"]`

still todo:
- migrate from messageFilters to logFilters in jsonrpc api
- genereting json descriptions for contracts
- update javascript docs


remove .empty() if it's redundant with isString()