sizeExpr: fix a bug in the size calculation
sizeExpr: fix a bug in the size calculation

There were two bugs here:

* We weren't ignoring Cast in size_up_app
* An application of a non-variable wasn't being charged correct

The result was that some things looked too cheap.  In my case I had
things like

    ((f x) `cast` ...) y

which was given size 21 instead of 30, and this had knock-on effects
elsewhere that caused some large code bloat.

Test Plan:
* nofib runs (todo)
* validate

Reviewers: simonpj, austin, bgamari, erikd

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1900

GHC Trac Issues: #11564

oldmanmike/ghc,mettekou/ghc,sdiehl/ghc,sdiehl/ghc,sdiehl/ghc,mcschroeder/ghc,olsner/ghc,oldmanmike/ghc,olsner/ghc,vikraman/ghc,sgillespie/ghc,snoyberg/ghc,mettekou/ghc,oldmanmike/ghc,olsner/ghc,olsner/ghc,sgillespie/ghc,snoyberg/ghc,tjakway/ghcjvm,oldmanmike/ghc,mcschroeder/ghc,snoyberg/ghc,ezyang/ghc,mettekou/ghc,ezyang/ghc,vTurbine/ghc,mettekou/ghc,mettekou/ghc,shlevy/ghc,vTurbine/ghc,shlevy/ghc,vikraman/ghc,oldmanmike/ghc,sgillespie/ghc,vikraman/ghc,oldmanmike/ghc,shlevy/ghc,shlevy/ghc,snoyberg/ghc,olsner/ghc,vTurbine/ghc,vikraman/ghc,tjakway/ghcjvm,vTurbine/ghc,mcschroeder/ghc,sdiehl/ghc,vTurbine/ghc,vTurbine/ghc,snoyberg/ghc,sgillespie/ghc,tjakway/ghcjvm,snoyberg/ghc,ezyang/ghc,sgillespie/ghc,mcschroeder/ghc,olsner/ghc,mcschroeder/ghc,vikraman/ghc,tjakway/ghcjvm,vikraman/ghc,vTurbine/ghc,shlevy/ghc,sgillespie/ghc,tjakway/ghcjvm,tjakway/ghcjvm,vikraman/ghc,ezyang/ghc,oldmanmike/ghc,ezyang/ghc,ezyang/ghc,mcschroeder/ghc,shlevy/ghc,sdiehl/ghc,sdiehl/ghc,sgillespie/ghc,ezyang/ghc,snoyberg/ghc,shlevy/ghc,mcschroeder/ghc,tjakway/ghcjvm,mettekou/ghc,sdiehl/ghc,mettekou/ghc,olsner/ghc