Remove sources of undefined order of evaluation in CodeGen_C

Fixes #239
Merge branch 'master' of github.com:halide/Halide
Add IRDeepVisitor
Fix IRVisitor build for gcc/linux
Registered more tutorials with doxygen docs
Merge branch 'master' of https://github.com/halide/Halide
add pnacl_math to cmake build
New llvm syntax for DataLayout pass
Suppress data layout warnings in initial module
Remove roundf from test because windows
Handle LLVM API change in adding a pass to handle DataLayout.
Merge branch 'master' into test_gpu
Only set NULL data layout for llvm >= 3.5
Traverse Expr ExternArguments in IRVisitor
Remove IRDeepVisitor, visit_function helpers

These were actually incomplete and a poor fit for the initial
FindCalls implementation, since extracting all ExternArgument
functions correctly required a ton of duplication of logic 
otherwise isolated within Lower's `populate_environment`.
Move call graph computation into FindCalls helpers

I've rolled back to just using the existing logic, exactly as-is,
from Lower's `populate_environment`, but moved it inside a new 
FindCalls utility module.
Add FindCalls to CMakeLists
NAming changes, add more uses of evaluate_may_gpu.
Move using declarations inside of Halide namespaces.
Merge branch 'master' into opengl

Conflicts:
	src/IRVisitor.cpp