We should probably avoid recursive definitions. The problem is that if neither is defined, then we get a stack overflow (instead of a `MethodError` that can be caught and dealt with appropriately):
```
julia> immutable Foo <: ContinuousUnivariateDistribution
       end

julia> pdf(Foo(),1.0)
ERROR: stack overflow
 in pdf at /Users/simon/.julia/v0.3/Distributions/src/fallbacks.jl:100 (repeats 80000 times)
```