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


If we are adding node.js as a dependency then cmake and various build files need to be updated. For clean debugging I think it would be good for this to only occur during 'make install'. js.qrc isn't a compiled file so we can add a script to cmake for the install process which, if node.js is available, will minify the javascript and generate js.qrc. This way, other developers can add, remove, or modify js files and can debug the application without having to remember to regenerate ethereum.min.js.